XMM - Probabilistic Models for Motion Recognition and Mapping

xmmGmmParameters.hpp
Go to the documentation of this file.
1 /*
2  * xmmGmmParameters.hpp
3  *
4  * Parameters of Gaussian Mixture Models
5  *
6  * Contact:
7  * - Jules Francoise <jules.francoise@ircam.fr>
8  *
9  * This code has been initially authored by Jules Francoise
10  * <http://julesfrancoise.com> during his PhD thesis, supervised by Frederic
11  * Bevilacqua <href="http://frederic-bevilacqua.net>, in the Sound Music
12  * Movement Interaction team <http://ismm.ircam.fr> of the
13  * STMS Lab - IRCAM, CNRS, UPMC (2011-2015).
14  *
15  * Copyright (C) 2015 UPMC, Ircam-Centre Pompidou.
16  *
17  * This File is part of XMM.
18  *
19  * XMM is free software: you can redistribute it and/or modify
20  * it under the terms of the GNU General Public License as published by
21  * the Free Software Foundation, either version 3 of the License, or
22  * (at your option) any later version.
23  *
24  * XMM is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with XMM. If not, see <http://www.gnu.org/licenses/>.
31  */
32 
33 #ifndef xmmGMMParameters_hpp
34 #define xmmGMMParameters_hpp
35 
36 #include "../../core/distributions/xmmGaussianDistribution.hpp"
37 #include "../../core/model/xmmModelParameters.hpp"
38 
39 namespace xmm {
47 class GMM;
48 
53 template <>
54 class ClassParameters<GMM> : public Writable {
55  public:
60 
66 
71  explicit ClassParameters(Json::Value const& root);
72 
78 
80 
86  Json::Value toJson() const;
87 
93  virtual void fromJson(Json::Value const& root);
94 
96 
100  bool changed = false;
101 
106 
112 
118 
123 
124  protected:
128  virtual void onAttributeChange(AttributeBase* attr_pointer);
129 };
130 }
131 
132 #endif
bool changed
specifies if parameters have changed (model is invalid)
Definition: xmmModelParameters.hpp:76
Attribute< double > relative_regularization
Offset Added to the diagonal of covariance matrices for convergence (Relative to Data Variance) ...
Definition: xmmGmmParameters.hpp:111
ClassParameters & operator=(ClassParameters const &src)
Assignment.
Definition: xmmModelParameters.hpp:71
Parameters specific to each class of a Gaussian Mixture Model.
Definition: xmmGmmParameters.hpp:54
Gaussian Mixture Model for Continuous Recognition and Regression (Multi-class)
Definition: xmmGmm.hpp:47
Base Class for Generic Attributes.
Definition: xmmAttribute.hpp:105
virtual Json::Value toJson() const =0
Write the object to a JSON Structure.
Attribute< GaussianDistribution::CovarianceMode > covariance_mode
Covariance Mode.
Definition: xmmGmmParameters.hpp:122
Abstract class for handling JSON + File I/O.
Definition: xmmJson.hpp:50
Attribute< unsigned int > gaussians
Number of Gaussian Mixture Components.
Definition: xmmGmmParameters.hpp:105
ClassParameters()
Default Constructor.
Definition: xmmModelParameters.hpp:53
Attribute< double > absolute_regularization
Offset Added to the diagonal of covariance matrices for convergence (minimum value) ...
Definition: xmmGmmParameters.hpp:117
Definition: xmmAttribute.hpp:42
virtual void fromJson(Json::Value const &root)=0
Read the object from a JSON Structure.
Class-specific Model Parameters.
Definition: xmmModelParameters.hpp:48