 |
AliceVision
Photogrammetric Computer Vision Framework
|
9 #include <aliceVision/numeric/numeric.hpp>
14 namespace robustEstimation {
23 template<
typename ModelT>
52 virtual void fit(
const std::vector<std::size_t>& samples, std::vector<ModelT>& models)
const = 0;
61 virtual void fitLS(
const std::vector<std::size_t>& inliers, std::vector<ModelT>& models,
const std::vector<double>* weights =
nullptr)
const = 0;
72 const std::vector<std::size_t>& inliers,
73 std::vector<double>& weights,
74 const double eps = 0.001)
const = 0;
82 virtual double error(std::size_t sample,
const ModelT& model)
const = 0;
89 virtual void errors(
const ModelT& model, std::vector<double>&
errors)
const = 0;
101 virtual std::size_t
nbSamples()
const = 0;
109 virtual double errorVectorDimension()
const = 0;
110 virtual double unormalizeError(
double val)
const = 0;
111 virtual Mat3 normalizer1()
const = 0;
112 virtual double thresholdNormalizer()
const = 0;
virtual double logalpha0() const =0
Get logalpha0, Alpha0 is used to make the error adaptive to the image size.
virtual void fit(const std::vector< std::size_t > &samples, std::vector< ModelT > &models) const =0
This function is called to estimate the model from the minimum number of sample minSample (i....
virtual void errors(const ModelT &model, std::vector< double > &errors) const =0
Function that computes the estimation error for a given model and all the elements.
virtual double error(std::size_t sample, const ModelT &model) const =0
Function that computes the estimation error for a given model and a given element.
virtual std::size_t getMinimumNbRequiredSamplesLS() const =0
Return the minimum number of required samples for the solver Ls.
Definition: checkerDetector.cpp:32
virtual std::size_t nbSamples() const =0
The number of elements in the data.
virtual void unnormalize(ModelT &model) const =0
Function used to unnormalize the model.
virtual std::size_t getMaximumNbModels() const =0
Return the maximum number of models for the solver.
virtual void fitLS(const std::vector< std::size_t > &inliers, std::vector< ModelT > &models, const std::vector< double > *weights=nullptr) const =0
This function is called to estimate the model using a least squared algorithm from a minimum of minSa...
virtual void computeWeights(const ModelT &model, const std::vector< std::size_t > &inliers, std::vector< double > &weights, const double eps=0.001) const =0
Function used to estimate the weights, typically used by the least square algorithm.
A generic kernel used for the ACRANSAC / LORANSAC framework.
Definition: IRansacKernel.hpp:24
virtual std::size_t getMinimumNbRequiredSamples() const =0
Return the minimum number of required samples for the solver.