123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /**
- * @file BoWFeatureConverter.h
- * @brief Convert a set of features into a Bag of visual Words histogram (either by Vector Quantization, or Hard / Soft Assignment)
- * @author Alexander Freytag
- * @date 11-06-2013 (dd-mm-yyyy)
- */
- #ifndef BOWFEATURECONVERTERINCLUDE
- #define BOWFEATURECONVERTERINCLUDE
- #include "core/vector/VectorT.h"
- #include "core/vector/VVector.h"
- #include "core/vector/MatrixT.h"
- #include "core/basics/Config.h"
- #include "Codebook.h"
- namespace OBJREC {
- /**
- * @class BoWFeatureConverter
- * @brief Convert a set of features into a Bag of visual Words histogram (either by Vector Quantization, or Hard / Soft Assignment)
- * @author Alexander Freytag
- * @date 11-06-2013 (dd-mm-yyyy)
- */
- class BoWFeatureConverter
- {
- protected:
- //! normalization method used (enum type)
- int n_normalizationMethod;
-
- //! quantization method used (enum type)
- int n_quantizationMethod;
- //! pointer to our codebook
- const Codebook *codebook;
-
- //! the section name if we want to read something from the config file lateron
- std::string s_section;
-
- //! the config file to specify parameter settings
- const NICE::Config * p_conf;
- public:
- //! enum type used for normalization method
- enum {
- NORMALIZE_RAW = 0,
- NORMALIZE_BINZERO,
- NORMALIZE_SUM,
- NORMALIZE_THRESH
- };
-
- //! enum type used to specify feature -> clusters (vector quant. , or vector assignment (either hard or soft) )
- enum {
- VECTOR_QUANTIZATION = 0,
- VECTOR_ASSIGNMENT
- };
-
- /**
- * @brief standard constructor
- *
- * @param conf pointer to a Config object with some parameter settings (currently not used)
- * @param codebook pointer to the codebook (keep the pointer!)
- */
- BoWFeatureConverter( const NICE::Config *conf,
- const Codebook *codebook, const std::string _section = "BoWFeatureConverter" );
-
- /** simple destructor */
- virtual ~BoWFeatureConverter();
-
- void calcHistogram ( const NICE::VVector & features,
- NICE::Vector & histogram, const bool & b_resetHistogram = true );
- void normalizeHistogram ( NICE::Vector & histogram );
- /**
- * @brief set the type of the normalization method (see the enum of the class)
- *
- * @param normalizationMethod see enum type
- */
- void setNormalizationMethod ( int normalizationMethod );
- /**
- * @brief get the currently used normalization method
- *
- * @return see enum type
- */
- int getNormalizationMethod () const;
-
- };
- } // namespace
- #endif
|