GestureRecognitionToolkit
Version: 0.2.5
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 | BaseType { BASE_TYPE_NOT_SET =0, CLASSIFIER, REGRESSIFIER, CLUSTERER, PRE_PROCSSING, POST_PROCESSING, FEATURE_EXTRACTION, CONTEXT } |
Public Member Functions | |
ClassLabelTimeoutFilter (const unsigned long timeoutDuration=1000, const UINT filterMode=ALL_CLASS_LABELS) | |
ClassLabelTimeoutFilter (const ClassLabelTimeoutFilter &rhs) | |
virtual | ~ClassLabelTimeoutFilter () |
ClassLabelTimeoutFilter & | operator= (const ClassLabelTimeoutFilter &rhs) |
virtual bool | deepCopyFrom (const PostProcessing *postProcessing) override |
virtual bool | process (const VectorDouble &inputVector) override |
virtual bool | reset () override |
virtual bool | save (std::fstream &file) const override |
virtual bool | load (std::fstream &file) override |
bool | init (const unsigned long timeoutDuration, const UINT filterMode=ALL_CLASS_LABELS) |
UINT | filter (const UINT predictedClassLabel) |
UINT | getFilteredClassLabel () const |
bool | isTimeoutActive () |
bool | setTimeoutDuration (const unsigned long timeoutDuration) |
bool | setFilterMode (const UINT filterMode) |
Public Member Functions inherited from PostProcessing | |
PostProcessing (const std::string &id="") | |
virtual | ~PostProcessing (void) |
bool | copyBaseVariables (const PostProcessing *postProcessingModule) |
UINT | getPostProcessingInputMode () const |
UINT | getPostProcessingOutputMode () const |
bool | getInitialized () const |
bool | getIsPostProcessingInputModePredictedClassLabel () const |
bool | getIsPostProcessingInputModeClassLikelihoods () const |
bool | getIsPostProcessingOutputModePredictedClassLabel () const |
bool | getIsPostProcessingOutputModeClassLikelihoods () const |
VectorFloat | getProcessedData () const |
PostProcessing * | create () const |
GRT_DEPRECATED_MSG ("createNewInstance is deprecated, use create instead.", PostProcessing *createNewInstance() const ) | |
GRT_DEPRECATED_MSG ("createInstanceFromString is deprecated, use create instead.", static PostProcessing *createInstanceFromString(const std::string &id)) | |
GRT_DEPRECATED_MSG ("getPostProcessingType is deprecated, use getId() instead", std::string getPostProcessingType() const ) | |
Public Member Functions inherited from MLBase | |
MLBase (const std::string &id="", const BaseType type=BASE_TYPE_NOT_SET) | |
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 (RegressionData trainingData, RegressionData validationData) |
virtual bool | train_ (RegressionData &trainingData, RegressionData &validationData) |
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) |
GRT_DEPRECATED_MSG ("saveModelToFile(std::string filename) is deprecated, use save(const std::string &filename) instead", virtual bool saveModelToFile(const std::string &filename) const ) | |
GRT_DEPRECATED_MSG ("saveModelToFile(std::fstream &file) is deprecated, use save(std::fstream &file) instead", virtual bool saveModelToFile(std::fstream &file) const ) | |
GRT_DEPRECATED_MSG ("loadModelFromFile(std::string filename) is deprecated, use load(const std::string &filename) instead", virtual bool loadModelFromFile(const std::string &filename)) | |
GRT_DEPRECATED_MSG ("loadModelFromFile(std::fstream &file) is deprecated, use load(std::fstream &file) instead", virtual bool loadModelFromFile(std::fstream &file)) | |
virtual bool | getModel (std::ostream &stream) const |
virtual std::string | getModelAsString () const |
DataType | getInputType () const |
DataType | getOutputType () const |
BaseType | getType () const |
UINT | getNumInputFeatures () const |
UINT | getNumInputDimensions () const |
UINT | getNumOutputDimensions () const |
UINT | getMinNumEpochs () const |
UINT | getMaxNumEpochs () const |
UINT | getBatchSize () const |
UINT | getNumRestarts () const |
UINT | getValidationSetSize () const |
UINT | getNumTrainingIterationsToConverge () const |
Float | getMinChange () const |
Float | getLearningRate () const |
Float | getRMSTrainingError () const |
GRT_DEPRECATED_MSG ("getRootMeanSquaredTrainingError() is deprecated, use getRMSTrainingError() instead", Float getRootMeanSquaredTrainingError() const ) | |
Float | getTotalSquaredTrainingError () const |
Float | getRMSValidationError () const |
Float | getValidationSetAccuracy () const |
VectorFloat | getValidationSetPrecision () const |
VectorFloat | getValidationSetRecall () const |
bool | getUseValidationSet () const |
bool | getRandomiseTrainingOrder () const |
bool | getTrained () const |
GRT_DEPRECATED_MSG ("getModelTrained() is deprecated, use getTrained() instead", bool getModelTrained() const ) | |
bool | getConverged () const |
bool | getScalingEnabled () const |
bool | getIsBaseTypeClassifier () const |
bool | getIsBaseTypeRegressifier () const |
bool | getIsBaseTypeClusterer () const |
bool | getTrainingLoggingEnabled () const |
bool | getTestingLoggingEnabled () const |
bool | enableScaling (const bool useScaling) |
bool | setMaxNumEpochs (const UINT maxNumEpochs) |
bool | setBatchSize (const UINT batchSize) |
bool | setMinNumEpochs (const UINT minNumEpochs) |
bool | setNumRestarts (const UINT numRestarts) |
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 | setTestingLoggingEnabled (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 (const std::string &id="") | |
virtual | ~GRTBase (void) |
bool | copyGRTBaseVariables (const GRTBase *GRTBase) |
GRT_DEPRECATED_MSG ("getClassType is deprecated, use getId() instead!", std::string getClassType() const ) | |
std::string | getId () 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) |
bool | setDebugLoggingEnabled (const bool loggingEnabled) |
GRTBase * | getGRTBasePointer () |
const GRTBase * | getGRTBasePointer () const |
Float | scale (const Float &x, const Float &minSource, const Float &maxSource, const Float &minTarget, const Float &maxTarget, const bool constrain=false) |
Float | SQR (const Float &x) 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) |
Static Public Member Functions | |
static std::string | getId () |
Static Public Member Functions inherited from PostProcessing | |
static PostProcessing * | create (const std::string &postProcessingType) |
Static Public Member Functions inherited from GRTBase | |
static std::string | getGRTVersion (bool returnRevision=true) |
static std::string | getGRTRevison () |
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 |
bool | converged |
DataType | inputType |
DataType | outputType |
BaseType | baseType |
UINT | numInputDimensions |
UINT | numOutputDimensions |
UINT | numTrainingIterationsToConverge |
UINT | minNumEpochs |
UINT | maxNumEpochs |
UINT | batchSize |
UINT | validationSetSize |
UINT | numRestarts |
Float | learningRate |
Float | minChange |
Float | rmsTrainingError |
Float | rmsValidationError |
Float | totalSquaredTrainingError |
Float | validationSetAccuracy |
bool | useValidationSet |
bool | randomiseTrainingOrder |
VectorFloat | validationSetPrecision |
VectorFloat | validationSetRecall |
Random | random |
Vector< TrainingResult > | trainingResults |
TrainingResultsObserverManager | trainingResultsObserverManager |
TestResultsObserverManager | testResultsObserverManager |
TrainingLog | trainingLog |
TestingLog | testingLog |
Protected Attributes inherited from GRTBase | |
std::string | classId |
Stores the name of the class (e.g., MinDist) | |
DebugLog | debugLog |
ErrorLog | errorLog |
InfoLog | infoLog |
WarningLog | warningLog |
Additional Inherited Members | |
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) |
Static Protected Member Functions inherited from PostProcessing | |
static StringPostProcessingMap * | getMap () |
Definition at line 73 of file ClassLabelTimeoutFilter.h.
ClassLabelTimeoutFilter::ClassLabelTimeoutFilter | ( | const unsigned long | timeoutDuration = 1000 , |
const 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 33 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 40 of file ClassLabelTimeoutFilter.cpp.
|
virtual |
Default Destructor
Definition at line 56 of file ClassLabelTimeoutFilter.cpp.
|
overridevirtual |
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 75 of file ClassLabelTimeoutFilter.cpp.
UINT ClassLabelTimeoutFilter::filter | ( | const 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 139 of file ClassLabelTimeoutFilter.cpp.
|
inline |
Get the most recently filtered class label value.
Definition at line 190 of file ClassLabelTimeoutFilter.h.
|
static |
Gets a string that represents the ID of this class.
Definition at line 28 of file ClassLabelTimeoutFilter.cpp.
bool ClassLabelTimeoutFilter::init | ( | const unsigned long | timeoutDuration, |
const 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 122 of file ClassLabelTimeoutFilter.cpp.
bool ClassLabelTimeoutFilter::isTimeoutActive | ( | ) |
Get if the filter is currently ignorning new inputs because the timeout is active.
Definition at line 217 of file ClassLabelTimeoutFilter.cpp.
|
overridevirtual |
This loads the post processing settings from a file. This overrides the load function in the PostProcessing base class.
filename | the name of the file to load the settings from |
Reimplemented from MLBase.
Definition at line 244 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 60 of file ClassLabelTimeoutFilter.cpp.
|
overridevirtual |
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 95 of file ClassLabelTimeoutFilter.cpp.
|
overridevirtual |
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 MLBase.
Definition at line 114 of file ClassLabelTimeoutFilter.cpp.
|
overridevirtual |
This saves the post processing settings to a file. This overrides the save function in the PostProcessing base class.
filename | the name of the file to save the settings to |
Reimplemented from MLBase.
Definition at line 228 of file ClassLabelTimeoutFilter.cpp.
bool ClassLabelTimeoutFilter::setFilterMode | ( | const 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 303 of file ClassLabelTimeoutFilter.cpp.
bool ClassLabelTimeoutFilter::setTimeoutDuration | ( | const 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 295 of file ClassLabelTimeoutFilter.cpp.