Inherits opentl::modalities::Modality.
Public Types | |
Public Member Functions | |
virtual modalities::Modality * | clone () 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
| |
virtual int | matchObjLevel (const TargetPtrVector &targets, T_MEAS_OBJPtrVector &outputMeas, std::size_t partitionIdx) |
Matching on object level
| |
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. |
Common flags to all modalities: they specify which field will be filled in the output measurement, inside the matchXLevel() function. Default values = all true.
Reimplemented from opentl::modalities::Modality.
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.
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.
virtual modalities::Modality* opentl::modalities::DataFusion::clone | ( | ) | const [virtual] |
virtual void opentl::modalities::DataFusion::init | ( | ) | [virtual] |
virtual int opentl::modalities::DataFusion::matchFeatLevel | ( | const TargetPtrVector & | targets, | |
T_MEAS_FEATPtrVector & | outputMeas, | |||
std::size_t | partitionIdx | |||
) | [virtual] |
Matching on feature level
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
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] |
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] |
virtual int opentl::modalities::DataFusion::updateModelFeatures | ( | const TargetPtrVector & | targets | ) | [virtual] |
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).
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. |