PedestrainCounting
ClassifierSelector.h
1 
8 #ifndef CLASSIFIER_SELECTOR_CLASS
9 #define CLASSIFIER_SELECTOR_CLASS
10 
11 #include "WeakClassifierHaar.h"
12 #include "WeakClassifierRGI.h"
13 
15 public:
23  ClassifierSelector(int numW, const Size &patchSize, int numB = 2);
24 
29  ClassifierSelector(int numW, WeakClassifier **weaks, int numB = 2);
30 
31  virtual ~ClassifierSelector();
32 
39  void Initialize(const Size &patchSize);
40 
50  void Train(const IntegralImage *intImage, const Rect &roi, int target, float importance, bool *errMask);
51 
55  float GetError(int index = -1) const;
56 
65  virtual int SelectBestClassifer(float importance, const bool *errorMask, float *errors);
66 
73  virtual int ReplaceWeakestClassifier(float *sumErrors, const Size &patchSize);
74 
79  virtual void ReplaceWeakestClassifierStatistic(int src, int dst);
80 
86  int Classify(const IntegralImage *intImage, const Rect &roi);
87 
88  float Evaluate(const IntegralImage *intImage, const Rect &roi, int indexWeak = -1);
89 
90  WeakClassifier **GetClassifierPool() const { return weakClassifiers; }
91  void SetClassifierPool(WeakClassifier **weaks);
92 
93  int GetNewBackup() { return nextBackup; }
94 
95 private:
96 
97  WeakClassifier **weakClassifiers;
98 
99  int numWeakClassifer; // Number of classifiers.
100  int numBackup; // Number of backup classifiers.
101  int selectedClassifier; // Index of the selected classifier.
102  int nextBackup; // Index of the next backup classifier.
103 
108  float *wCorrect;
109  float *wWrong;
110 
115  bool isReferenced;
116 };
117 
118 #endif
Definition: Geometry.h:34
void Initialize(const Size &patchSize)
Definition: ClassifierSelector.cpp:62
virtual int ReplaceWeakestClassifier(float *sumErrors, const Size &patchSize)
Definition: ClassifierSelector.cpp:145
virtual void ReplaceWeakestClassifierStatistic(int src, int dst)
Definition: ClassifierSelector.cpp:188
Definition: WeakClassifier.h:11
virtual int SelectBestClassifer(float importance, const bool *errorMask, float *errors)
Definition: ClassifierSelector.cpp:116
Definition: Geometry.h:14
void Train(const IntegralImage *intImage, const Rect &roi, int target, float importance, bool *errMask)
Definition: ClassifierSelector.cpp:85
Definition: IntegralImage.h:11
Definition: ClassifierSelector.h:14
ClassifierSelector(int numW, const Size &patchSize, int numB=2)
Definition: ClassifierSelector.cpp:3
float GetError(int index=-1) const
Definition: ClassifierSelector.cpp:108
int Classify(const IntegralImage *intImage, const Rect &roi)
Definition: ClassifierSelector.cpp:81