Commit 4fab7f69ddc82d6ba40a73fc6233e3cc9871473e

Authored by Jordan Cheney
1 parent 8b1dd002

Revert to old classification method to avoid regression

openbr/plugins/classification/boostedforest.cpp
@@ -118,7 +118,7 @@ class BoostedForestClassifier : public Classifier @@ -118,7 +118,7 @@ class BoostedForestClassifier : public Classifier
118 featureEvaluator.setImage(images[i], labels[i], i); 118 featureEvaluator.setImage(images[i], labels[i], i);
119 119
120 CascadeBoost boost; 120 CascadeBoost boost;
121 - boost.train(&featureEvaluator, images.size(), 1024, 1024, params); 121 + boost.train(&featureEvaluator, images.size(), 2048, 2048, params);
122 122
123 // Convert into simpler, cleaner cascade after training 123 // Convert into simpler, cleaner cascade after training
124 threshold = boost.getThreshold(); 124 threshold = boost.getThreshold();
@@ -151,8 +151,8 @@ class BoostedForestClassifier : public Classifier @@ -151,8 +151,8 @@ class BoostedForestClassifier : public Classifier
151 } 151 }
152 152
153 if (sum < threshold) 153 if (sum < threshold)
154 - return -std::abs(sum);  
155 - return std::abs(sum); 154 + return 0.0f; //-std::abs(sum);
  155 + return 1.0f; //std::abs(sum);
156 } 156 }
157 157
158 int numFeatures() const 158 int numFeatures() const
openbr/plugins/classification/cascade.cpp
@@ -157,7 +157,12 @@ class CascadeClassifier : public Classifier @@ -157,7 +157,12 @@ class CascadeClassifier : public Classifier
157 157
158 float classify(const Mat &image) const 158 float classify(const Mat &image) const
159 { 159 {
160 - if (stages.size() == 0) // special case for empty cascade 160 + foreach (const Classifier *stage, stages)
  161 + if (stage->classify(image) == 0)
  162 + return 0.0f;
  163 + return 1.0f;
  164 +
  165 + /*if (stages.size() == 0) // special case for empty cascade
161 return 1.0f; 166 return 1.0f;
162 167
163 float result = 0.0f; 168 float result = 0.0f;
@@ -167,7 +172,7 @@ class CascadeClassifier : public Classifier @@ -167,7 +172,7 @@ class CascadeClassifier : public Classifier
167 if (result < 0) 172 if (result < 0)
168 return stageIdx > (stages.size() - 4) ? stageIdx * result : 0.0f; 173 return stageIdx > (stages.size() - 4) ? stageIdx * result : 0.0f;
169 } 174 }
170 - return std::abs(stages.size() * result); 175 + return std::abs(stages.size() * result);*/
171 } 176 }
172 177
173 int numFeatures() const 178 int numFeatures() const