opentl::modalities::DataFusion Class Reference

Static data fusion class. It inherits from the modalities:Modality interface, so it can be flexibly combined with the features. ASSUMPTIONS: More...

Inherits opentl::modalities::Modality.

List of all members.

Public Types


Public Member Functions

virtual modalities::Modalityclone () const
 Deep cloning.
 DataFusion (const DataFusion &c)
 Copy Constructor.
 DataFusion (opentl::modelprojection::Warp *warp, int camIdx)
virtual void init ()
 Initialize class (clean parameter status).
virtual int matchFeatLevel (const TargetPtrVector &targets, T_MEAS_FEATPtrVector &outputMeas, std::size_t partitionIdx)
 Matching on feature level
  • match projected model features with detected image features.

virtual int matchObjLevel (const TargetPtrVector &targets, T_MEAS_OBJPtrVector &outputMeas, std::size_t partitionIdx)
 Matching on object level
  • compute a local, maximum-likelihood estimate of pose (evtl. state), using either pixel- or feature-level likelihood functions.

virtual int matchPixLevel (const TargetPtrVector &targets, T_MEAS_PIXPtrVector &outputMeas, std::size_t partitionIdx)
 Here "MATCH" = "FUSION"!
virtual int preProcess (const opentl::core::cvdata::Image &image)
 Model independent pre processing.
virtual int sampleModelFeatures (const TargetPtrVector &targets)
 Sample model features for all children.
virtual int updateModelFeatures (const TargetPtrVector &targets)
 Update online features for all children.
int upgradeObjectLevel (const TargetPtrVector &targets, T_MEAS_OBJPtrVector &outputMeas, std::size_t partitionIdx)
 Static data fusion: Upgrade from multiple levels to object level Method: Gauss-Newton optimization (LSE), using Jacobians (H).
virtual ~DataFusion ()
 Destructor.


Detailed Description

Static data fusion class. It inherits from the modalities:Modality interface, so it can be flexibly combined with the features. ASSUMPTIONS:


Member Enumeration Documentation

Common flags to all modalities: they specify which field will be filled in the output measurement, inside the matchXLevel() function. Default values = all true.

Enumerator:
OFFLINE_COUNT 

Reimplemented from opentl::modalities::Modality.

Enumerator:
fusionAlgo  Data fusion modality (scheme for static fusion, input/output levels for z).
fusionAlgoObjectUpgrade_Epsilon  Exit condition: minimum error for one delta step.
fusionAlgoObjectUpgrade_CovRVector  vector containing the covariance output values TODO: use math::Vector
fusionAlgoObjectUpgrade_EnableMultiThreadingPerChildFeature  create a thread per feature matchxxxLevel() function call
fusionAlgoObjectUpgrade_MaxIter  Maximum iterations performed for Gauss-Newton.
fusionAlgoObjectUpgrade_usePrior  Whether to use the prediction (prior) Gaussian to regularize Gauss-Newton optimization.
fusionAlgoObjectUpgrade_GaussNewton_weights  For w.a. we need a weight for each modality and camera.
fusionAlgoObjectUpgrade_GaussNewton_enableDampingFactor  flag to enable damping factor in case of a singular matrix
fusionAlgoObjectUpgrade_GaussNewton_useRinv  Whether to use the invert covariance in the Gauss-Newton algorithm NOTE: it makes sense only if the measurements have a variable covariance.
fusionAlgoObjectUpgrade_GaussNewton_dampingFactorDeterminantMinThreshold  min. threshold of Hessian determinant value for enabling damping
fusionAlgoObjectUpgrade_GaussNewton_dampingFactorMax  maximum damping factor
ONLINE_COUNT 

Reimplemented from opentl::modalities::Modality.

Possible static fusion schemes.

Enumerator:
NOFUSION 
PIXEL_WA 
PIXEL_VOTING 
PIXEL_FUZZY 
OBJECT_UPGRADE 

Possible voting schemes for pixel-level.

Enumerator:
UNANIMITY 
BYZANTINE 
MAJORITY 
MOUTN 


Constructor & Destructor Documentation

opentl::modalities::DataFusion::DataFusion ( opentl::modelprojection::Warp warp,
int  camIdx 
)

opentl::modalities::DataFusion::DataFusion ( const DataFusion c  ) 

Copy Constructor.

virtual opentl::modalities::DataFusion::~DataFusion (  )  [virtual]

Destructor.


Member Function Documentation

virtual modalities::Modality* opentl::modalities::DataFusion::clone (  )  const [virtual]

Deep cloning.

Implements opentl::modalities::Modality.

virtual void opentl::modalities::DataFusion::init (  )  [virtual]

Initialize class (clean parameter status).

Reimplemented from opentl::modalities::Modality.

virtual int opentl::modalities::DataFusion::matchFeatLevel ( const TargetPtrVector targets,
T_MEAS_FEATPtrVector outputMeas,
std::size_t  partitionIdx 
) [virtual]

Matching on feature level

  • match projected model features with detected image features.

Parameters:
states Predicted state
outputMeas Feature-space measurements and residuals

Reimplemented from opentl::modalities::Modality.

virtual int opentl::modalities::DataFusion::matchObjLevel ( const TargetPtrVector targets,
T_MEAS_OBJPtrVector outputMeas,
std::size_t  partitionIdx 
) [virtual]

Matching on object level

  • compute a local, maximum-likelihood estimate of pose (evtl. state), using either pixel- or feature-level likelihood functions.

Parameters:
states Predicted state
outputMeas State-space measurement and residuals (expected state = prediction, observed state = ML estimate)

Reimplemented from opentl::modalities::Modality.

virtual int opentl::modalities::DataFusion::matchPixLevel ( const TargetPtrVector targets,
T_MEAS_PIXPtrVector outputMeas,
std::size_t  partitionIdx 
) [virtual]

Here "MATCH" = "FUSION"!

Reimplemented from opentl::modalities::Modality.

virtual int opentl::modalities::DataFusion::preProcess ( const opentl::core::cvdata::Image image  )  [virtual]

Model independent pre processing.

virtual int opentl::modalities::DataFusion::sampleModelFeatures ( const TargetPtrVector targets  )  [virtual]

Sample model features for all children.

Reimplemented from opentl::modalities::Modality.

virtual int opentl::modalities::DataFusion::updateModelFeatures ( const TargetPtrVector targets  )  [virtual]

Update online features for all children.

Reimplemented from opentl::modalities::Modality.

int opentl::modalities::DataFusion::upgradeObjectLevel ( const TargetPtrVector targets,
T_MEAS_OBJPtrVector outputMeas,
std::size_t  partitionIdx 
)

Static data fusion: Upgrade from multiple levels to object level Method: Gauss-Newton optimization (LSE), using Jacobians (H).

Parameters:
targets Targets with initial states (for the moment only 1 state-per-target is supported!)
inMeas Lower-level measurements (typically features) to be combined
outMeas ObjModel-level measurement (in pose space) NOTE: This function calls the individual match() functions for each camera/modality and afterwards computes a GN optimization in order to update each object pose. The final update poses are returned in the output measurements.


Generated on Fri Jul 31 17:38:39 2009 for OpenTL by  doxygen 1.5.8