Commit eb82968c31bf8416509252067d1b5793399344af

Authored by Scott Klum
Committed by GitHub
2 parents 2b9685ae b2423737

Merge pull request #509 from biometrics/boosted_forest_serialization_fix

Fixed boosted forest serialization
openbr/plugins/classification/boostedforest.cpp
@@ -107,10 +107,11 @@ class BoostedForestClassifier : public Classifier @@ -107,10 +107,11 @@ class BoostedForestClassifier : public Classifier
107 Q_PROPERTY(int maxDepth READ get_maxDepth WRITE set_maxDepth RESET reset_maxDepth STORED false) 107 Q_PROPERTY(int maxDepth READ get_maxDepth WRITE set_maxDepth RESET reset_maxDepth STORED false)
108 Q_PROPERTY(int maxWeakCount READ get_maxWeakCount WRITE set_maxWeakCount RESET reset_maxWeakCount STORED false) 108 Q_PROPERTY(int maxWeakCount READ get_maxWeakCount WRITE set_maxWeakCount RESET reset_maxWeakCount STORED false)
109 Q_PROPERTY(Type type READ get_type WRITE set_type RESET reset_type STORED false) 109 Q_PROPERTY(Type type READ get_type WRITE set_type RESET reset_type STORED false)
110 - Q_PROPERTY(QList<br::Node*> classifiers READ get_classifiers WRITE set_classifiers RESET reset_classifiers STORED false)  
111 Q_PROPERTY(float threshold READ get_threshold WRITE set_threshold RESET reset_threshold STORED false) 110 Q_PROPERTY(float threshold READ get_threshold WRITE set_threshold RESET reset_threshold STORED false)
112 111
113 public: 112 public:
  113 + QList<Node*> classifiers;
  114 +
114 enum Type { Discrete = CvBoost::DISCRETE, 115 enum Type { Discrete = CvBoost::DISCRETE,
115 Real = CvBoost::REAL, 116 Real = CvBoost::REAL,
116 Logit = CvBoost::LOGIT, 117 Logit = CvBoost::LOGIT,
@@ -123,7 +124,6 @@ private: @@ -123,7 +124,6 @@ private:
123 BR_PROPERTY(int, maxDepth, 1) 124 BR_PROPERTY(int, maxDepth, 1)
124 BR_PROPERTY(int, maxWeakCount, 100) 125 BR_PROPERTY(int, maxWeakCount, 100)
125 BR_PROPERTY(Type, type, Gentle) 126 BR_PROPERTY(Type, type, Gentle)
126 - BR_PROPERTY(QList<br::Node*>, classifiers, QList<br::Node*>())  
127 BR_PROPERTY(float, threshold, 0) 127 BR_PROPERTY(float, threshold, 0)
128 128
129 void train(const TemplateList &data) 129 void train(const TemplateList &data)
@@ -221,6 +221,12 @@ private: @@ -221,6 +221,12 @@ private:
221 } 221 }
222 }; 222 };
223 223
  224 +QList<Node*> getClassifers(Classifier *classifier)
  225 +{
  226 + BoostedForestClassifier *boostedForest = static_cast<BoostedForestClassifier*>(classifier);
  227 + return boostedForest->classifiers;
  228 +}
  229 +
224 BR_REGISTER(Classifier, BoostedForestClassifier) 230 BR_REGISTER(Classifier, BoostedForestClassifier)
225 231
226 } // namespace br 232 } // namespace br
openbr/plugins/classification/cascade_classifier.cpp
@@ -110,7 +110,7 @@ class CascadeClassifier : public Classifier @@ -110,7 +110,7 @@ class CascadeClassifier : public Classifier
110 Q_PROPERTY(float maxFAR READ get_maxFAR WRITE set_maxFAR RESET reset_maxFAR STORED false) 110 Q_PROPERTY(float maxFAR READ get_maxFAR WRITE set_maxFAR RESET reset_maxFAR STORED false)
111 Q_PROPERTY(bool requireAllStages READ get_requireAllStages WRITE set_requireAllStages RESET reset_requireAllStages STORED false) 111 Q_PROPERTY(bool requireAllStages READ get_requireAllStages WRITE set_requireAllStages RESET reset_requireAllStages STORED false)
112 Q_PROPERTY(int maxStage READ get_maxStage WRITE set_maxStage RESET reset_maxStage STORED false) 112 Q_PROPERTY(int maxStage READ get_maxStage WRITE set_maxStage RESET reset_maxStage STORED false)
113 - Q_PROPERTY(QList<Classifier*> stages READ get_stages WRITE set_stages RESET reset_stages STORED false) 113 + Q_PROPERTY(QList<br::Classifier*> stages READ get_stages WRITE set_stages RESET reset_stages STORED false)
114 114
115 BR_PROPERTY(QString, stageDescription, "") 115 BR_PROPERTY(QString, stageDescription, "")
116 BR_PROPERTY(int, numStages, 20) 116 BR_PROPERTY(int, numStages, 20)
@@ -119,7 +119,7 @@ class CascadeClassifier : public Classifier @@ -119,7 +119,7 @@ class CascadeClassifier : public Classifier
119 BR_PROPERTY(float, maxFAR, pow(0.5, numStages)) 119 BR_PROPERTY(float, maxFAR, pow(0.5, numStages))
120 BR_PROPERTY(bool, requireAllStages, false) 120 BR_PROPERTY(bool, requireAllStages, false)
121 BR_PROPERTY(int, maxStage, -1) 121 BR_PROPERTY(int, maxStage, -1)
122 - BR_PROPERTY(QList<Classifier*>, stages, QList<Classifier*>()) 122 + BR_PROPERTY(QList<br::Classifier*>, stages, QList<br::Classifier*>())
123 123
124 TemplateList posImages, negImages; 124 TemplateList posImages, negImages;
125 TemplateList posSamples, negSamples; 125 TemplateList posSamples, negSamples;