Direct Graphical Models  v.1.7.0
TrainEdgePrior.h
1 // Prior training model for pairwise potentials
2 // Written by Sergey G. Kosov in 2015 for Project X
3 #pragma once
4 
5 #include "TrainEdgePottsCS.h"
6 #include "PriorEdge.h"
7 
8 namespace DirectGraphicalModels
9 {
10  // ============================= Prior Edge Train Class =============================
18  {
19  public:
27  DllExport CTrainEdgePrior(byte nStates, word nFeatures, ePotPenalApproach penApproach = eP_APP_PEN_EXP, ePotNormApproach normApproach = eP_APP_NORM_SYMMETRIC);
28  DllExport virtual ~CTrainEdgePrior(void);
29 
30  DllExport virtual void reset(void);
31 
32  DllExport virtual void addFeatureVecs(const Mat &featureVector1, byte gt1, const Mat &featureVector2, byte gt2);
33  DllExport virtual void train(bool doClean = false);
34 
35  protected:
36  DllExport virtual void saveFile(FILE *pFile) const;
37  DllExport virtual void loadFile(FILE *pFile);
58  DllExport virtual Mat calculateEdgePotentials(const Mat &featureVector1, const Mat &featureVector2, const vec_float_t &vParams) const;
59 
60 
61  private:
62  inline void loadPriorMatrix(void);
63  Mat m_prior; // = Mat(); // The prior matrix
64  };
65 }
Contrast-Sensitive Potts training class.
virtual void reset(void)
Resets class variables.
CTrainEdgePrior(byte nStates, word nFeatures, ePotPenalApproach penApproach=eP_APP_PEN_EXP, ePotNormApproach normApproach=eP_APP_NORM_SYMMETRIC)
Constructor.
Edge prior probability estimation class.
Definition: PriorEdge.h:38
virtual void loadFile(FILE *pFile)
Loads the random model from the file.
virtual Mat calculateEdgePotentials(const Mat &featureVector1, const Mat &featureVector2, const vec_float_t &vParams) const
Calculates the edge potential, based on the feature vectors.
Contrast-Sensitive Potts training with edge prior probability class.
ePotPenalApproach
Penalization approach flag.
virtual void addFeatureVecs(const Mat &featureVector1, byte gt1, const Mat &featureVector2, byte gt2)
Adds a pair of feature vectors.
virtual void train(bool doClean=false)
Random model training.
virtual void saveFile(FILE *pFile) const
Saves the random model into the file.
Exponential penalization approach.
ePotNormApproach
Normalization approach flag.
Definition: PriorEdge.h:27