GestureRecognitionToolkit  Version: 0.2.0
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
ClassLabelTimeoutFilter.h File Reference

The Class Label Timeout Filter is a useful post-processing module which debounces a gesture (i.e. it stops a single gesture from being recognized multiple times over a short time frame). For instance, it is normally the case that whenever a user performs a gesture, such as a swipe gesture for example, that the recognition system may recognize this single gesture several times because the user's movements are being sensed at a high sample rate (i.e. 100Hz). The Class Label Timeout Filter can be used to ensure that a gesture, such as the previous swipe gesture example, is only recognize once within any given timespan. More...

#include "../Util/GRTCommon.h"
#include "../CoreModules/PostProcessing.h"

Go to the source code of this file.

Classes

class  ClassLabelAndTimer
 
class  ClassLabelTimeoutFilter
 

Detailed Description

The Class Label Timeout Filter is a useful post-processing module which debounces a gesture (i.e. it stops a single gesture from being recognized multiple times over a short time frame). For instance, it is normally the case that whenever a user performs a gesture, such as a swipe gesture for example, that the recognition system may recognize this single gesture several times because the user's movements are being sensed at a high sample rate (i.e. 100Hz). The Class Label Timeout Filter can be used to ensure that a gesture, such as the previous swipe gesture example, is only recognize once within any given timespan.

Author
Nicholas Gillian ngill.nosp@m.ian@.nosp@m.media.nosp@m..mit.nosp@m..edu
Version
1.0

The Class Label Timeout Filter module is controlled through two parameters: the timeoutDuration parameter and filterMode parameter. 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 and 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.

The timeoutDuration and filterMode parameters can be set using the setTimeoutDuration(double timeoutDuration) and setFilterMode(UINT filterMode) methods.

Definition in file ClassLabelTimeoutFilter.h.