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.
GRT.h
Go to the documentation of this file.
1 
46 #ifndef GRT_MAIN_HEADER
47 #define GRT_MAIN_HEADER
48 
49 //Include the Utilities
50 #include "Util/GRTVersionInfo.h"
51 #include "Util/GRTCommon.h"
52 #include "Util/RangeTracker.h"
54 #include "Util/SVD.h"
55 #include "Util/LUDecomposition.h"
56 #include "Util/Cholesky.h"
57 #include "Util/EigenvalueDecomposition.h"
58 #include "Util/TestResult.h"
60 #include "Util/PeakDetection.h"
62 #include "Util/CommandLineParser.h"
63 
64 //Include the data structures
65 #include "DataStructures/Vector.h"
66 #include "DataStructures/VectorFloat.h"
67 #include "DataStructures/Matrix.h"
68 #include "DataStructures/MatrixFloat.h"
74 
75 //Include the Core Alogirthms
84 #include "CoreAlgorithms/GridSearch/GridSearch.h"
85 
86 //Include the PreProcessing Modules
98 
99 //Include the FeatureExtraction Modules
112 
113 //Include the PostProcessing Modules
117 
118 //Include Classification Modules
130 #include "ClassificationModules/ParticleClassifier/ParticleClassifier.h"
131 #include "ClassificationModules/RandomForests/RandomForests.h"
135 
136 //Include the Regression Modules
142 
143 //Include the Clustering algorithms
149 
150 //Include the Context Modules
151 #include "ContextModules/Gate.h"
152 
153 //Include the Recognition Pipeline
155 
156 #endif //GRT_MAIN_HEADER
This class implements a basic Decision Tree classifier. Decision Trees are conceptually simple classi...
This class implements the Linear Regression algorithm. Linear Regression is a simple but effective re...
The Class Label Timeout Filter is a useful post-processing module which debounces a gesture (i...
The ClassificationData is the main data structure for recording, labeling, managing, saving, and loading training data for supervised learning problems.
The Vector class is a basic class for storing any type of data. The default Vector is an interface fo...
This class implements the Self Oganizing Map clustering algorithm.
This class implements a basic Regression Tree.
This class implements the MeanShift clustering algorithm.
This code is based on the LU Decomposition code from Numerical Recipes (3rd Edition) ...
This class implements a template based ParticleSwarmOptimization algorithm.
The TestResult class provides a data structure for storing the results of a classification or regress...
This class implements a Cluster Tree. This can be used to automatically build a cluster model (where ...
This class implements the K-Nearest Neighbor classification algorithm (http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm). KNN is a simple but powerful classifier, based on finding the closest K training examples in the feature space for the new input vector. The KNN algorithm is amongst the simplest of all machine learning algorithms: an object is classified by a majority vote of its neighbors, with the object being assigned to the class most common amongst its k nearest neighbors (k is a positive integer, typically small). If k = 1, then the object is simply assigned to the class of its nearest neighbor.
The SOMQuantizer module quantizes the N-dimensional input vector to a 1-dimensional discrete value...
This implements a Savitzky-Golay filter. This code is based on the Savitzky Golay filter code from Nu...
The MovingAverageFilter implements a low pass moving average filter.
The Matrix class is a basic class for storing any type of data. This class is a template and can ther...
This class implements a Bernoulli Restricted Boltzmann machine.
This class contains the AdaBoost classifier. AdaBoost (Adaptive Boosting) is a powerful classifier th...
This class implements a Gaussian Miture Model clustering algorithm. The code is based on the GMM code...
This class implements a template based EvolutionaryAlgorithm.
This class implements the Linear Discriminant Analysis Classification algorithm.
This class acts as a front end for the LIBSVM library (http://www.csie.ntu.edu.tw/~cjlin/libsvm/). It implements a Support Vector Machine (SVM) classifier, a powerful classifier that works well on a wide range of classification problems, particularly on more complex problems that other classifiers (such as the KNN, GMM or ANBC algorithms) might not be able to solve.
This class implements the Logistic Regression algorithm. Logistic Regression is a simple but effectiv...
This class implements a threshold crossing detector.
The WeightedAverageFilter implements a weighted average filter that gives a larger weight to more rec...
The MedianFilter implements a simple median filter.
This class implements a template based ParticleFilter. The user is required to implement the predict ...
This file contains the GestureRecognitionPipeline class.
The UnlabelledData class is the main data container for supporting unsupervised learning.
This class implements the FFTFeatures featue extraction module.
This class implements the MovementTrajectory feature extraction module.
This class implements the Adaptive Naive Bayes Classifier algorithm. The Adaptive Naive Bayes Classif...
This class implements the KMeans clustering algorithm.
This class implements the Gaussian Mixture Model Classifier algorithm. The Gaussian Mixture Model Cla...
The TimeSeriesClassificationData is the main data structure for recording, labeling, managing, saving, and loading training data for supervised temporal learning problems. Unlike the ClassificationData, in which each sample consists of 1 N dimensional datum, a TimeSeriesClassificationData sample will consist of an N dimensional time series of length M. The length of each time series sample (i.e. M) can be different for each datum in the dataset.
This class implements a Multilayer Perceptron Artificial Neural Network.
This class implements a High Pass Filter.
This class implements a basic swipe detection classification algorithm.
The class implements a low pass filter, this is based on an Exponential moving average filter: https:...
The KMeansQuantizer module quantizes the N-dimensional input vector to a 1-dimensional discrete value...
The ClassificationDataStream is the main data structure for recording, labeling, managing, saving, and loading datasets that can be used to test the continuous classification abilities of the GRT supervised learning algorithms.
This class implements Dynamic Time Warping. Dynamic Time Warping (DTW) is a powerful classifier that ...
This class implements the bootstrap aggregator classifier. Bootstrap aggregating (bagging) is a machi...
The SOMQuantizer module quantizes the N-dimensional input vector to a 1-dimensional discrete value...
The RegressionData is the main data structure for recording, labeling, managing, saving, and loading datasets that can be used to train and test the GRT supervised regression algorithms.
The Softmax Classifier is a simple but effective classifier (based on logisitc regression) that works...
The FFT class computes the Fourier transform of an N dimensional signal using a Fast Fourier Transfor...
The TrainingDataRecordingTimer is a tool to help record your training data.
This class implements the base class Tree used for the DecisionTree, RegressionTree and ClusterTree...
This class implements a Finite Impulse Response (FIR) Filter.
The DeadZone class sets any values in the input signal that fall within the dead-zone region to zero...
This class runs the Principal Component Analysis (PCA) algorithm, a dimensionality reduction algorith...
The RangeTracker can be used to keep track of the expected ranges that might occur in a dataset...
The ClassificationResult class provides a data structure for storing the results of a classification ...
This class implements the MovementIndex feature module. The MovementIndex module computes the amount ...
This class implements the Multidimensional Regression meta algorithm. Multidimensional Regressionacts...
The Class Label Change Filter signals when the predicted output of a classifier changes. For instance, if the output stream of a classifier was {1,1,1,1,2,2,2,2,3,3}, then the output of the filter would be {1,0,0,0,2,0,0,0,3,0}. This module is useful if you want to debounce a gesture and only care about when the gesture label changes.
This class acts as the main interface for using a Hidden Markov Model.
The LeakyIntegrator class computes the following signal: y = y*z + x, where x is the input...
This class implements the TimeDomainFeatures feature extraction module.
The class implements a Float moving average filter.
This class implements the MinDist classifier algorithm.
This class implements the TimeseriesBuffer feature extraction module.
The Derivative class computes either the first or second order derivative of the input signal...
The Class Label Filter is a useful post-processing module which can remove erroneous or sporadic pred...
This class implements a simple movement detection algorithm. This can be used to detect periods of 'l...
This class implements a basic Hierarchial Clustering algorithm.