/** * @file FeatureLearningClusterBased.h * @brief compute new histogram entries by clustering new features and take centers of clusters which are relevant and novel * @author Alexander Freytag * @date 16-04-2013 (dd-mm-yyyy) */ #ifndef _INCLUDEFEATURELEARNINGCLUSTERBASED #define _INCLUDEFEATURELEARNINGCLUSTERBASED #include "FeatureLearningPrototypes.h" #include namespace OBJREC { /** * @class FeatureLearningClusterBased * @brief compute new histogram entries by clustering new features and take centers of clusters which are relevant and novel * @author Alexander Freytag * @date 16-04-2013 (dd-mm-yyyy) */ class FeatureLearningClusterBased : public FeatureLearningPrototypes { protected: /************************ * * protected variables * **************************/ //! define the number of clusters we want to compute for an unseen image int numberOfClustersForNewImage; /************************ * * protected methods * **************************/ void setClusterAlgo( const std::string & _clusterAlgoString, const bool & _setForInitialTraining); public: /** constructor * @param _conf needs a configfile * @param _md and a MultiDataset (contains images and other things) */ FeatureLearningClusterBased ( const NICE::Config *_conf, const OBJREC::MultiDataset *_md , const std::string & _section = "featureLearning"); /** simple destructor */ virtual ~FeatureLearningClusterBased(); /** this function has to be overloaded by all subclasses @param imgWithNovelContent */ virtual void learnNewFeatures ( const std::string & filename ) ; }; } // namespace #endif