latest version v1.9 - last update 10 Apr 2010 |
This class is used to combine several results of different classifier::output objects. More...
#include <ltiCombination.h>
This class is used to combine several results of different classifier::output objects.
There are many possibilities to do this. All of them will use internaly the classifier::sortedOutput type to compute the probability for each class. You can just combine linearly the results or use the probabilistic Borda count to consider also how sure is a classifier of its result.
Probabilistic Borda Count is documented in S. Syberichs. "Entscheidungs-Fusion zur 3D-Objekterkennung in einem hierarchischen Klassifikationssystem", Diplomarbeit, Lehrstuhl für Technische Informatik, RWTH-Aachen, Juni 2001
lti::combination::combination | ( | ) |
default constructor
lti::combination::combination | ( | const combination & | other | ) |
copy constructor
other | the object to be copied |
virtual lti::combination::~combination | ( | ) | [virtual] |
destructor
bool lti::combination::apply | ( | const std::list< classifier::outputVector > & | src, | |
const dvector & | weights, | |||
classifier::outputVector & | dest | |||
) | const |
Combine the given list of classifier::outputVector objects into one outputVector object according to the parameter settings.
No matter what the parameters are, the given weights will be used for combination.
src | list of classifier::outputvector objects with the partial classification results. | |
weights | used for weighting the inputs in same order. | |
dest | classifier::outputvector where the result will be left. |
bool lti::combination::apply | ( | const std::list< classifier::outputVector > & | src, | |
classifier::outputVector & | dest | |||
) | const |
Combine the given list of classifier::outputVector objects into one outputVector object according to the parameter settings.
src | list of classifier::outputvector objects with the partial classification results. | |
dest | classifier::outputvector where the result will be left. |
virtual functor* lti::combination::clone | ( | ) | const [virtual] |
returns a pointer to a clone of this functor.
Implements lti::functor.
combination& lti::combination::copy | ( | const combination & | other | ) |
copy data of "other" functor.
other | the functor to be copied |
Reimplemented from lti::functor.
const parameters& lti::combination::getParameters | ( | ) | const |
returns used parameters
Reimplemented from lti::functor.
virtual const char* lti::combination::getTypeName | ( | ) | const [virtual] |
returns the name of this type ("combination")
Reimplemented from lti::functor.
bool lti::combination::noMultAndCompatible | ( | const std::list< classifier::outputVector > | src | ) | const [protected] |
Checks whether all outputVectors contained in src are compatible to each other and that none of them contains the same label more than once.
Returns true if everything is ok.
combination& lti::combination::operator= | ( | const combination & | other | ) |
bool lti::combination::probBordaCount | ( | const std::list< classifier::outputVector > | src, | |
const dvector & | weights, | |||
classifier::outputVector & | dest | |||
) | const [protected] |
First calculates the ProbablilisticBordaCount for each input vector then sums these measures weighted by weights and returns the sum in dest.
Returns false if the vectors in src are not compatible, ie contain the same labels.
src | list of outputVectors to be summed up | |
weights | used for weighting the outputVectors in src | |
dest | result of the sum |
bool lti::combination::probBordaCount | ( | const std::list< classifier::outputVector > | src, | |
classifier::outputVector & | dest | |||
) | const [protected] |
First calculates the ProbablilisticBordaCount for each input vector then sums these measures and returns the sum in dest.
Returns false if the vectors in src are not compatible, ie contain the same labels.
src | list of outputVectors to be summed up | |
dest | result of the sum |
bool lti::combination::sumOfVectors | ( | const std::list< classifier::outputVector > | src, | |
const dvector & | weights, | |||
classifier::outputVector & | dest | |||
) | const [protected] |
Calculates the weighted sum of the outputVectors contained in src and leaves the result in dest.
Returns false if the vectors in src are not compatible, ie contain the same labels.
src | list of outputVectors to be summed up | |
weights | used for weighting the outputVectors in src | |
dest | result of the sum |
bool lti::combination::sumOfVectors | ( | const std::list< classifier::outputVector > | src, | |
classifier::outputVector & | dest | |||
) | const [protected] |
Calculates the sum of the outputVectors contained in src and leaves the result in dest.
Returns false if the vectors in src are not compatible, ie contain the same labels.
src | list of outputVectors to be summed up | |
dest | result of the sum |