VCCrossGeneralization.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /**
  2. * @file VCCrossGeneralization.h
  3. * @brief Combination of Classifiers
  4. * @author Erik Rodner
  5. * @date 12/05/2007
  6. */
  7. #ifndef VCCrossGeneralizationINCLUDE
  8. #define VCCrossGeneralizationINCLUDE
  9. #ifdef NICE_USELIB_ICE
  10. #include "VCLearnFromSC.h"
  11. #ifdef NICE_USELIB_ICE
  12. #include "VCSimpleGaussian.h"
  13. #endif
  14. #include "VCNearestNeighbour.h"
  15. #include "core/basics/Config.h"
  16. namespace OBJREC {
  17. /** Combination of Classifiers */
  18. class VCCrossGeneralization : public VCLearnFromSC
  19. {
  20. protected:
  21. bool useVotingNormalization;
  22. VCSimpleGaussian gauss;
  23. VCNearestNeighbour nnclassifier;
  24. bool simpleGaussianFinished;
  25. void normalizeVotings ( NICE::Vector & v ) const;
  26. public:
  27. /** simple constructor */
  28. VCCrossGeneralization (const NICE::Config *conf);
  29. /** simple destructor */
  30. virtual ~VCCrossGeneralization();
  31. /** classify using simple vector */
  32. virtual ClassificationResult classify ( const NICE::Vector & x ) const;
  33. virtual void preTeach ( const LabeledSetVector & teachSet );
  34. virtual void teach ( const LabeledSetVector & teachSet );
  35. virtual void finishTeaching();
  36. void restore ( std::istream & is, int format = 0 );
  37. void store ( std::ostream & is, int format = 0 ) const;
  38. void clear ();
  39. };
  40. } // namespace
  41. #endif
  42. #endif