GestureRecognitionToolkit  Version: 1.0 Revision: 04-03-15
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
RBMQuantizer.h
Go to the documentation of this file.
1 
37 #ifndef GRT_RBM_QUANTIZER_HEADER
38 #define GRT_RBM_QUANTIZER_HEADER
39 
40 //Include the main GRT header to get access to the FeatureExtraction base class
41 #include "../../CoreModules/FeatureExtraction.h"
42 #include "../../CoreAlgorithms/BernoulliRBM/BernoulliRBM.h"
43 #include "../../DataStructures/TimeSeriesClassificationData.h"
44 #include "../../DataStructures/TimeSeriesClassificationDataStream.h"
45 #include "../../DataStructures/UnlabelledData.h"
46 
47 namespace GRT{
48 
50 public:
56  RBMQuantizer(const UINT numClusters=10);
57 
63  RBMQuantizer(const RBMQuantizer &rhs);
64 
68  virtual ~RBMQuantizer();
69 
76  RBMQuantizer& operator=(const RBMQuantizer &rhs);
77 
86  virtual bool deepCopyFrom(const FeatureExtraction *featureExtraction);
87 
96  virtual bool computeFeatures(const VectorDouble &inputVector);
97 
104  virtual bool reset();
105 
111  virtual bool clear();
112 
119  virtual bool saveModelToFile(string filename) const;
120 
127  virtual bool loadModelFromFile(string filename);
128 
137  virtual bool saveModelToFile(fstream &file) const;
138 
146  virtual bool loadModelFromFile(fstream &file);
147 
154  bool train_(ClassificationData &trainingData);
155 
162  bool train_(TimeSeriesClassificationData &trainingData);
163 
170  bool train_(TimeSeriesClassificationDataStream &trainingData);
171 
178  bool train_(UnlabelledData &trainingData);
179 
186  bool train_(MatrixDouble &trainingData);
187 
194  UINT quantize(const double inputValue);
195 
202  UINT quantize(const VectorDouble &inputVector);
203 
209  bool getQuantizerTrained() const;
210 
216  UINT getNumClusters() const;
217 
223  UINT getQuantizedValue() const;
224 
230  VectorDouble getQuantizationDistances() const;
231 
238 
244  bool setNumClusters(const UINT numClusters);
245 
246  //Tell the compiler we are using the following functions from the MLBase class to stop hidden virtual function warnings
247  using MLBase::train;
248  using MLBase::train_;
249  using MLBase::predict;
250  using MLBase::predict_;
251 
252 protected:
253  UINT numClusters;
254  BernoulliRBM rbm;
255  VectorDouble quantizationDistances;
256 
258 };
259 
260 }//End of namespace GRT
261 
262 #endif //GRT_RBM_QUANTIZER_HEADER
RBMQuantizer & operator=(const RBMQuantizer &rhs)
bool getQuantizerTrained() const
Definition: AdaBoost.cpp:25
virtual bool train(ClassificationData trainingData)
Definition: MLBase.cpp:80
virtual bool clear()
UINT getQuantizedValue() const
virtual bool loadModelFromFile(string filename)
BernoulliRBM getBernoulliRBM() const
virtual bool reset()
virtual bool predict(VectorDouble inputVector)
Definition: MLBase.cpp:104
virtual bool predict_(VectorDouble &inputVector)
Definition: MLBase.cpp:106
virtual ~RBMQuantizer()
virtual bool saveModelToFile(string filename) const
virtual bool deepCopyFrom(const FeatureExtraction *featureExtraction)
VectorDouble getQuantizationDistances() const
RBMQuantizer(const UINT numClusters=10)
virtual bool computeFeatures(const VectorDouble &inputVector)
UINT quantize(const double inputValue)
UINT getNumClusters() const
bool train_(ClassificationData &trainingData)
bool setNumClusters(const UINT numClusters)
virtual bool train_(ClassificationData &trainingData)
Definition: MLBase.cpp:82