|
Public Types |
typedef Persistency::FeatureLocator | FeatureLocator |
Public Member Functions |
| Computor (String name, CmdOptions &options) |
virtual | ~Computor () |
String | GetName () const |
bool | IsClusterBased () const |
String | GetMaskSetBase () const |
virtual int | GetNrPixelFeatureSets () const |
int | GetPixelFeatureSetSize () const |
virtual int | GetNrRegionFeatureSets () const |
virtual int | GetRegionFeatureSetSize (int i) const |
int | GetRegionDescriptorLength () |
int | GetRegionFeatureLength () |
Geometry::RectanglePyramid | GetPyramid () |
String | GetProtoDataFile () |
FeatureTableSet * | GetFeatureTableSet () |
FeatureTable * | GetFeatureTable (FeatureDefinition def) |
FeatureTable * | GetFeatureTable (FeatureDefinition def, int regionFeatureSet) |
void | AddFeatureTable (FeatureDefinition def, int tableSize, int vecLen) |
void | MakeFeatureTableSet () |
virtual FeatureDefinition | ExtendFeatureDefinition (FeatureDefinition def) |
void | WriteFeatureDefinitions (String fName, Util::Database *db) |
FeatureTableSet * | GetProtoFeatureTableSet () |
FeatureTable * | GetProtoFeatureTable (int pixelFeatureSet, int regionFeatureSet, String clusterType, String clusterVal) |
FeatureTable * | GetProtoFeatureTable (int pixelFeatureSet, String anno) |
std::vector< FeatureTable * > | GetProtoFeatureTables (int pixelFeatureSet) |
std::vector< FeatureTable * > | GetProtoFeatureTables (int pixelFeatureSet, int regionFeatureSet) |
void | AddProtoFeatureTable (FeatureDefinition def, int tableSize, int vecLen) |
void | WriteProtoDefinitions (String fName, Util::Database *db) |
void | WriteProtoFeatureTableSet (Database::RawDataSet *dataSet) |
void | ReadProtoFeatureTableSet (String protoSet, String maskSet) |
void | LimitProtoFeatureTableSize (int maxNr) |
| Limit the number of prototypes to maxNr per feature.
|
FeatureTableSet * | GetRegionFeatureTableSet () |
void | AddRegionFeatureTable (FeatureDefinition def, int tableSize, int vecLen) |
FeatureTable * | GetRegionFeatureTable (int pixelFeatureSet, int regionFeatureSet) |
void | MakeRegionFeatureTableSet () |
virtual String | GetPixelFeatureDefName (int idx) |
virtual String | GetPixelFeatureDefVal (int idx) |
virtual String | GetRegionFeatureDefName (int idx) |
virtual String | GetRegionFeatureDefVal (int idx) |
virtual FeatureTable * | MakeProtoFeatureTable (int pixelFeatureSet, int regionFeatureSet, String clusterType, String clusterVal)=0 |
virtual void | ReadPrototypes (String annoSet, String maskSet, int maxNr)=0 |
virtual void | ComputeRegionFeatures (Array::Array2dVec3UInt8 *im, Quid quid)=0 |
virtual void | ComputeFeatures (Array::Array2dVec3UInt8 *im, Quid quid)=0 |
Protected Member Functions |
double | GetScale (int i) |
void | AddScale (double scale) |
void | SetPixelFeatureSetSize (int nr) |
void | SetRegionDescriptorLength (int len) |
Protected Attributes |
String | mName |
std::vector< double > | mScale |
Geometry::RectanglePyramid | mPyramid |
Geometry::RectanglePyramidPerDim | mLazebnikPyramid |
String | mMaskSetBase |
String | mProtoDataFile |
LabelSet | mProtoLabels |
int | mProtoLimit |
int | mPixelFeatureSetSize |
int | mRegionDescriptorLength |
Private Member Functions |
void | ReadFeatureTableSet (String listName, Util::Database *db, FeatureTableSet *tables, String maskSet) |
Private Attributes |
FeatureTableSet * | mFeatureTableSet |
FeatureTableSet * | mProtoFeatureTableSet |
FeatureTableSet * | mRegionFeatureTableSet |
| ILOG_VAR_DEC |
A feature computor is an object that (typically) computes feature values based on similarity of regional features to prototypical features.
The first step in this process is to compute pixel feature sets, i.e. for each pixel in the image a number of (invariant) values are computed that constitute a point description. Typically, 2 or more of these sets of pixel features are copmuted at different scales.
In the second step the pixel features are combined into a regional descriptor. Such a region may be a rectangular area, a blob, or just an (interest) point. There may be several region descriptors, e.g. rectangles of various sizes. The region descriptors may also be grouped using Lazebnik's Spatial Pyramid (cvpr'06). The concatenation of all region descriptors for all pixel feature sets is called a region feature.
In the final step, the region features are compared to prototype features. The prototypes typically come from annotation or clustering of region features. The similarity to prototypical features constitutes the "real" feature.