Commit eb82968c31bf8416509252067d1b5793399344af
Committed by
GitHub
Merge pull request #509 from biometrics/boosted_forest_serialization_fix
Fixed boosted forest serialization
Showing
2 changed files
with
10 additions
and
4 deletions
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; |