This class implements least square or robust optimization algorithms for 3D planes.
More...
|
static bool | optimizePlane (const Plane3 &plane, const ConstIndexedAccessor< Vector3 > &pointAccessor, Plane3 &optimizedPlane, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
| Optimizes a 3D plane by reducing the distance between 3D object points and their projected plane point. More...
|
|
static bool | optimizeOnePoseOnePlane (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &world_T_cameraFirst, const HomogenousMatrix4 &world_T_cameraSecond, const Plane3 &plane, const ConstIndexedAccessor< Vector2 > &imagePointsFirst, const ConstIndexedAccessor< Vector2 > &imagePointsSecond, const bool distortImagePoints, HomogenousMatrix4 &world_T_optimizedCameraSecond, Plane3 &optimizedPlane, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), const bool onlyFrontObjectPoints=true, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
| Optimizes the orientation of a plane in 3D spaces and the pose of one camera pose. More...
|
|
static bool | optimizeOnePoseOnePlaneIF (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &flippedCameraFirst_T_world, const HomogenousMatrix4 &flippedCameraSecond_T_world, const Plane3 &plane, const ConstIndexedAccessor< Vector2 > &imagePointsFirst, const ConstIndexedAccessor< Vector2 > &imagePointsSecond, const bool distortImagePoints, HomogenousMatrix4 &optimizedFlippedCameraSecond_T_world, Plane3 &optimizedPlane, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), const bool onlyFrontObjectPoints=true, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
| Optimizes the orientation of a plane in 3D spaces and the pose of one camera pose. More...
|
|
static bool | optimizePosesPlane (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &world_T_camera, const Vectors2 &imagePointsFirst, const HomogenousMatrices4 &world_T_cameras, const Plane3 &plane, const ImagePointGroups &imagePointGroups, const bool distortImagePoints, HomogenousMatrices4 &world_T_optimizedCameras, Plane3 &optimizedPlane, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), const bool onlyFrontObjectPoints=true, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
| Optimizes the orientation of a plane in 3D spaces and several camera poses concurrently. More...
|
|
static bool | optimizePosesPlaneIF (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &flippedCamera_T_world, const Vectors2 &imagePointsFirst, const HomogenousMatrices4 &flippedCameras_T_world, const Plane3 &plane, const ImagePointGroups &imagePointGroups, const bool distortImagePoints, HomogenousMatrices4 &optimizedFlippedCameras_T_world, Plane3 &optimizedPlane, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), const bool onlyFrontObjectPoints=true, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
| Optimizes the orientation of a plane in 3D spaces and several (inverted and flipped) camera poses concurrently. More...
|
|
static bool | optimizePosesPlane (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &world_T_camera, const HomogenousMatrices4 &world_T_cameras, const ImagePointsPairs &imagePointPairGroups, const Plane3 &plane, const bool distortImagePoints, HomogenousMatrices4 &world_T_optimizedCameras, Plane3 &optimizedPlane, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), const bool onlyFrontObjectPoints=true, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
| Optimizes the orientation of a plane in 3D spaces and several camera poses concurrently. More...
|
|
static bool | optimizePosesPlaneIF (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &flippedCamera_T_world, const HomogenousMatrices4 &flippedCameras_T_world, const ImagePointsPairs &imagePointPairGroups, const Plane3 &plane, const bool distortImagePoints, HomogenousMatrices4 &optimizedFlippedCameras_T_world, Plane3 &optimizedPlane, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), const bool onlyFrontObjectPoints=true, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
| Optimizes the orientation of a plane in 3D spaces and several (inverted and flipped) camera poses concurrently. More...
|
|
|
template<typename T > |
static bool | denseOptimization (T &provider, const unsigned int iterations=5u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), Scalar *initialError=nullptr, Scalar *finalError=nullptr, const Matrix *invertedCovariances=nullptr, Scalars *intermediateErrors=nullptr) |
| Invokes the optimization of a dense (matrix) optimization problem. More...
|
|
template<typename T , Estimator::EstimatorType tEstimator> |
static bool | denseOptimization (T &provider, const unsigned int iterations=5u, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), Scalar *initialError=nullptr, Scalar *finalError=nullptr, const Matrix *invertedCovariances=nullptr, Scalars *intermediateErrors=nullptr) |
| Invokes the optimization of a dense (matrix) optimization problem. More...
|
|
template<typename T > |
static bool | sparseOptimization (T &provider, const unsigned int iterations=5u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), Scalar *initialError=nullptr, Scalar *finalError=nullptr, const Matrix *invertedCovariances=nullptr, Scalars *intermediateErrors=nullptr) |
| Invokes the optimization of a sparse (matrix) optimization problem. More...
|
|
template<typename T , Estimator::EstimatorType tEstimator> |
static bool | sparseOptimization (T &provider, const unsigned int iterations=5u, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=Scalar(5), Scalar *initialError=nullptr, Scalar *finalError=nullptr, const Matrix *invertedCovariances=nullptr, Scalars *intermediateErrors=nullptr) |
| Invokes the optimization of a sparse (matrix) optimization problem. More...
|
|
template<typename T > |
static bool | advancedDenseOptimization (T &advancedDenseProvider, const unsigned int iterations, Scalar lambda, const Scalar lambdaFactor, Scalar *initialError=nullptr, Scalar *finalError=nullptr, Scalars *intermediateErrors=nullptr) |
| Invokes the optimization of a dense (matrix) optimization problem using an advanced optimization provider. More...
|
|
template<typename T > |
static bool | advancedSparseOptimization (T &advancedSparseProvider, const unsigned int iterations, Scalar lambda, const Scalar lambdaFactor, Scalar *initialError=nullptr, Scalar *finalError=nullptr, Scalars *intermediateErrors=nullptr) |
| Invokes the optimization of a sparse (matrix) optimization problem using an advanced optimization provider. More...
|
|
template<Estimator::EstimatorType tEstimator> |
static Scalar | sqrErrors2robustErrors2 (const Scalars &sqrErrors, const size_t modelParameters, Vector2 *weightedErrors, Vector2 *weightVectors, const SquareMatrix2 *transposedInvertedCovariances) |
| Translates the n/2 squared errors that correspond to n elements in the error vector to robust errors. More...
|
|
template<Estimator::EstimatorType tEstimator, size_t tDimension> |
static Scalar | sqrErrors2robustErrors (const Scalars &sqrErrors, const size_t modelParameters, StaticBuffer< Scalar, tDimension > *weightedErrors, StaticBuffer< Scalar, tDimension > *weightVectors, const Matrix *transposedInvertedCovariances) |
| Translates the n/i squared errors that correspond to n elements in the error vector to robust errors. More...
|
|
template<Estimator::EstimatorType tEstimator> |
static Scalar | sqrErrors2robustErrors_i (const Scalars &sqrErrors, const size_t modelParameters, const size_t dimension, Scalar *weightedErrors_i, Scalar *weightVectors_i, const Matrix *transposedInvertedCovariances_i) |
| Translates the n/i squared errors that correspond to n elements in the error vector to robust errors. More...
|
|
static Scalar | sqrErrors2robustErrors2 (const Estimator::EstimatorType estimator, const Scalars &sqrErrors, const size_t modelParameters, Vector2 *weightedErrors, Vector2 *weightVectors, const SquareMatrix2 *transposedInvertedCovariances) |
| Translates the n/2 squared errors that correspond to n elements in the error vector to robust errors. More...
|
|
template<size_t tDimension> |
static Scalar | sqrErrors2robustErrors (const Estimator::EstimatorType estimator, const Scalars &sqrErrors, const size_t modelParameters, StaticBuffer< Scalar, tDimension > *weightedErrors, StaticBuffer< Scalar, tDimension > *weightVectors, const Matrix *transposedInvertedCovariances) |
| Translates the n/i squared errors that correspond to n elements in the error vector to robust errors. More...
|
|
static Scalar | sqrErrors2robustErrors_i (const Estimator::EstimatorType estimator, const Scalars &sqrErrors, const size_t modelParameters, const size_t dimension, Scalar *weightedErrors_i, Scalar *weightVectors_i, const Matrix *transposedInvertedCovariances_i) |
| Translates the n/i squared errors that correspond to n elements in the error vector to robust errors. More...
|
|
This class implements least square or robust optimization algorithms for 3D planes.