AliceVision
Photogrammetric Computer Vision Framework
Public Types | Public Member Functions | Protected Attributes | List of all members
aliceVision::multiview::relativePose::EssentialKernel< SolverT, ErrorT, ModelT > Class Template Reference

Generic Solver for the 5pt Essential Matrix Estimation. More...

#include <EssentialKernel.hpp>

Inheritance diagram for aliceVision::multiview::relativePose::EssentialKernel< SolverT, ErrorT, ModelT >:
aliceVision::robustEstimation::PointFittingKernel< SolverT, ErrorT, robustEstimation::Mat3Model >

Public Types

using KernelBase = robustEstimation::PointFittingKernel< SolverT, ErrorT, ModelT >
 
- Public Types inherited from aliceVision::robustEstimation::PointFittingKernel< SolverT, ErrorT, robustEstimation::Mat3Model >
using SolverT = SolverT
 
using ErrorT = ErrorT
 
using ModelT = robustEstimation::Mat3Model
 

Public Member Functions

 EssentialKernel (const Mat &x1, const Mat &x2, const Mat3 &K1, const Mat3 &K2)
 
void fit (const std::vector< std::size_t > &samples, std::vector< ModelT > &models) const override
 Extract required sample and fit model(s) to the sample. More...
 
double error (std::size_t sample, const ModelT &model) const
 Return the error associated to the model and a sample point. More...
 
- Public Member Functions inherited from aliceVision::robustEstimation::PointFittingKernel< SolverT, ErrorT, robustEstimation::Mat3Model >
 PointFittingKernel (const Mat &x1, const Mat &x2)
 
std::size_t getMinimumNbRequiredSamples () const
 Return the minimum number of required samples. More...
 
std::size_t getMaximumNbModels () const
 Return the maximum number of models. More...
 
virtual void errors (const ModelT &model, std::vector< double > &errors) const
 Return the errors associated to the model and each sample point. More...
 
std::size_t nbSamples () const
 get the number of putative points More...
 

Protected Attributes

Mat3 _K1
 
Mat3 _K2
 
- Protected Attributes inherited from aliceVision::robustEstimation::PointFittingKernel< SolverT, ErrorT, robustEstimation::Mat3Model >
const Mat & _x1
 left corresponding data
 
const Mat & _x2
 right corresponding data
 
const SolverT _kernelSolver
 two view solver
 
const ErrorT _errorEstimator
 solver error estimation
 

Detailed Description

template<typename SolverT, typename ErrorT, typename ModelT = robustEstimation::Mat3Model>
class aliceVision::multiview::relativePose::EssentialKernel< SolverT, ErrorT, ModelT >

Generic Solver for the 5pt Essential Matrix Estimation.

Todo:
Error must be overwrite in order to compute F from E and K's. Fitting must normalize image values to camera values.

Member Function Documentation

◆ error()

template<typename SolverT , typename ErrorT , typename ModelT = robustEstimation::Mat3Model>
double aliceVision::multiview::relativePose::EssentialKernel< SolverT, ErrorT, ModelT >::error ( std::size_t  sample,
const ModelT model 
) const
inlinevirtual

Return the error associated to the model and a sample point.

Parameters
[in]sample
[in]model
Returns
error value

Reimplemented from aliceVision::robustEstimation::PointFittingKernel< SolverT, ErrorT, robustEstimation::Mat3Model >.

◆ fit()

template<typename SolverT , typename ErrorT , typename ModelT = robustEstimation::Mat3Model>
void aliceVision::multiview::relativePose::EssentialKernel< SolverT, ErrorT, ModelT >::fit ( const std::vector< std::size_t > &  samples,
std::vector< ModelT > &  models 
) const
inlineoverridevirtual

Extract required sample and fit model(s) to the sample.

Parameters
[in]samples
[out]models

Reimplemented from aliceVision::robustEstimation::PointFittingKernel< SolverT, ErrorT, robustEstimation::Mat3Model >.


The documentation for this class was generated from the following file: