Ocean
|
This class implements non linear optimization algorithms for camera poses. More...
Static Public Member Functions | |
static bool | optimizePose (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &world_T_camera, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, const bool distortImagePoints, HomogenousMatrix4 &world_T_optimizedCamera, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=10, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
Deprecated. More... | |
static bool | optimizePose (const AnyCamera &anyCamera, const HomogenousMatrix4 &world_T_camera, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, HomogenousMatrix4 &world_T_optimizedCamera, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=10, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
Minimizes the projection error of a given 6DOF pose holding orientation and translation parameters for any camera. More... | |
static bool | optimizePose (const AnyCamera &camera, const HomogenousMatrix4 &world_T_camera, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, HomogenousMatrix4 &world_T_optimizedCamera, const unsigned int iterations, const Estimator::EstimatorType estimator, Scalar lambda, const Scalar lambdaFactor, Scalar *initialError, Scalar *finalError, const Matrix *invertedCovariances) |
Minimizes the projection error of a given 6-DOF camera pose. More... | |
static bool | optimizePose (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &world_T_camera, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, const bool distortImagePoints, HomogenousMatrix4 &world_T_optimizedCamera, const unsigned int iterations, const Estimator::EstimatorType estimator, Scalar lambda, const Scalar lambdaFactor, Scalar *initialError, Scalar *finalError, const Matrix *invertedCovariances) |
Deprecated. More... | |
static bool | optimizePoseZoom (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &world_T_camera, const Scalar zoom, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, const bool distortImagePoints, HomogenousMatrix4 &world_T_optimizedCamera, Scalar &optimizedZoom, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=10, Scalar *initialError=nullptr, Scalar *finalError=nullptr, const Matrix *invertedCovariances=nullptr) |
Minimizes the projection error of a given 6DOF pose holding orientation and translation parameters together with a flexible zoom. More... | |
static bool | optimizePoseIF (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &flippedCamera_T_world, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, const bool distortImagePoints, HomogenousMatrix4 &optimizedInvertedFlippedPose, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=10, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
Deprecated. More... | |
static bool | optimizePoseIF (const AnyCamera &anyCamera, const HomogenousMatrix4 &flippedCamera_T_world, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, HomogenousMatrix4 &optimizedPose_flippedCamera_T_world, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=10, Scalar *initialError=nullptr, Scalar *finalError=nullptr) |
Minimizes the projection error of a given inverted and flipped 6DOF pose holding orientation and translation parameters for any camera. More... | |
static bool | optimizePoseIF (const AnyCamera &camera, const HomogenousMatrix4 &flippedCamera_T_world, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, HomogenousMatrix4 &optimizedFlippedCamera_T_world, const unsigned int iterations, const Estimator::EstimatorType estimator, Scalar lambda, const Scalar lambdaFactor, Scalar *initialError, Scalar *finalError, const Matrix *invertedCovariances) |
Minimizes the projection error of a given 6-DOF camera pose. More... | |
static bool | optimizePoseIF (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &flippedCamera_T_world, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, const bool distortImagePoints, HomogenousMatrix4 &optimizedInvertedFlippedPose, const unsigned int iterations, const Estimator::EstimatorType estimator, Scalar lambda, const Scalar lambdaFactor, Scalar *initialError, Scalar *finalError, const Matrix *invertedCovariances) |
Deprecated. More... | |
static bool | optimizePoseZoomIF (const PinholeCamera &pinholeCamera, const HomogenousMatrix4 &flippedCamera_T_world, const Scalar zoom, const ConstIndexedAccessor< Vector3 > &objectPoints, const ConstIndexedAccessor< Vector2 > &imagePoints, const bool distortImagePoints, HomogenousMatrix4 &optimizedInvertedFlippedPose, Scalar &optimizedZoom, const unsigned int iterations=20u, const Estimator::EstimatorType estimator=Estimator::ET_SQUARE, Scalar lambda=Scalar(0.001), const Scalar lambdaFactor=10, Scalar *initialError=nullptr, Scalar *finalError=nullptr, const Matrix *invertedCovariances=nullptr) |
Minimizes the projection error of a given inverted and flipped 6DOF pose holding orientation and translation parameters together with a flexible zoom. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from Ocean::Geometry::NonLinearOptimization | |
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 non linear optimization algorithms for camera poses.
|
inlinestatic |
Minimizes the projection error of a given 6DOF pose holding orientation and translation parameters for any camera.
The given 6DOF pose is a standard extrinsic camera matrix.
anyCamera | The camera profile defining the projection, must be valid |
world_T_camera | 6DOF pose to minimized the projection error for, must be valid |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
world_T_optimizedCamera | Resulting optimized 6DOF pose |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator |
|
inlinestatic |
Minimizes the projection error of a given 6-DOF camera pose.
Beware: There is another optimizePose() function with almost identical functionality/parameter layout.
However, this function here supports covariance parameters and thus creates a bigger binary footprint.
camera | The camera profile defining the projection, must be valid |
world_T_camera | The camera pose to optimized, transforming camera points to world points, with default camera pointing towards the negative z-space with y-axis upwards, must be valid |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
world_T_optimizedCamera | The resulting optimized 6-DOF camera pose, transforming camera points to world points, with default camera pointing towards the negative z-space with y-axis upwards, must be valid |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator, nullptr to avoid the usage of the return value |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator, nullptr to avoid the usage of the return value |
invertedCovariances | Optional 2x2 inverted covariance matrices which represent the uncertainties of the image points, one for each image point (a (2*n)x2 matrix) |
|
inlinestatic |
Deprecated.
Minimizes the projection error of a given 6DOF pose holding orientation and translation parameters. The given 6DOF pose is a standard extrinsic camera matrix.
Beware: There is another optimizePose() function with almost identical functionality/parameter layout.
However, this function here supports covariance parameters and thus creates a bigger binary footprint.
pinholeCamera | The pinhole camera object defining the projection between 3D object points and 2D image points |
world_T_camera | 6DOF pose to minimized the projection error for, must be valid |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
distortImagePoints | True, to force the usage of the distortion parameters of the given camera object to distort the projected 2D image points before error determination |
world_T_optimizedCamera | Resulting optimized 6DOF pose |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator, nullptr to avoid the usage of the return value |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator, nullptr to avoid the usage of the return value |
invertedCovariances | Set of 2x2 inverted covariance matrices that represent the uncertainties of the image points (a 2*n x 2 matrix) |
|
inlinestatic |
Deprecated.
Minimizes the projection error of a given 6DOF pose holding orientation and translation parameters for a pinhole camera. The given 6DOF pose is a standard extrinsic camera matrix.
Beware: There is another optimizePose() function with almost identical functionality/parameter layout.
However, this function here does not support covariance parameters and thus creates a smaller binary footprint.
In case binary size matters, try to use this function only, and do not mix the usage of both options.
pinholeCamera | The pinhole camera object defining the projection between 3D object points and 2D image points, must be valid |
world_T_camera | 6DOF pose to minimized the projection error for, must be valid |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
distortImagePoints | True, to force the usage of the distortion parameters of the given camera object to distort the projected 2D image points before error determination |
world_T_optimizedCamera | Resulting optimized 6DOF pose |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator |
|
static |
Minimizes the projection error of a given inverted and flipped 6DOF pose holding orientation and translation parameters for any camera.
Beware: The given inverted and flipped 6DOF pose is not equivalent to a standard extrinsic camera matrix.
anyCamera | The camera profile defining the projection, must be valid |
flippedCamera_T_world | 6DOF pose to minimized the projection error for (inverted and flipped), must be valid |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
optimizedPose_flippedCamera_T_world | Resulting optimized 6DOF pose (inverted and flipped) |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator |
|
static |
Minimizes the projection error of a given 6-DOF camera pose.
Beware: There is another optimizePose() function with almost identical functionality/parameter layout.
However, this function here supports covariance parameters and thus creates a bigger binary footprint.
camera | The camera profile defining the projection, must be valid |
flippedCamera_T_world | The inverted and flipped camera pose to optimized, transforming world points to flipped camera points, with default camera pointing towards the positive z-space with y-axis downwards, must be valid |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
optimizedFlippedCamera_T_world | The resulting optimized inverted and flipped camera pose, transforming world points to flipped camera points, with default camera pointing towards the positive z-space with y-axis downwards, must be valid |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator, nullptr to avoid the usage of the return value |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator, nullptr to avoid the usage of the return value |
invertedCovariances | Optional 2x2 inverted covariance matrices which represent the uncertainties of the image points, one for each image point (a (2*n)x2 matrix) |
|
static |
Deprecated.
Minimizes the projection error of a given inverted and flipped 6DOF pose holding orientation and translation parameters. Beware: The given inverted and flipped 6DOF pose is not equivalent to a standard extrinsic camera matrix.
Beware: There is another optimizePoseIF() function with almost identical functionality/parameter layout.
However, this function here supports covariance parameters and thus creates a bigger binary footprint.
pinholeCamera | The pinhole camera object defining the projection between 3D object points and 2D image points |
flippedCamera_T_world | 6DOF pose to minimized the projection error for (inverted and flipped), must be valid |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
distortImagePoints | True, to force the usage of the distortion parameters of the given camera object to distort the projected 2D image points before error determination |
optimizedInvertedFlippedPose | Resulting optimized 6DOF pose (inverted and flipped) |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator, nullptr to avoid the usage of the return value |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator, nullptr to avoid the usage of the return value |
invertedCovariances | Optional set of 2x2 inverted covariance matrices that represent the uncertainties of the image points (a 2*n x 2 matrix) |
|
static |
Deprecated.
Minimizes the projection error of a given inverted and flipped 6DOF pose holding orientation and translation parameters for a pinhole camera. Beware: The given inverted and flipped 6DOF pose is not equivalent to a standard extrinsic camera matrix.
Beware: There is another optimizePoseIF() function with almost identical functionality/parameter layout.
However, this function here does not support covariance parameters and thus creates a smaller binary footprint.
In case binary size matters, try to use this function only, and do not mix the usage of both options.
pinholeCamera | The pinhole camera object defining the projection between 3D object points and 2D image points |
flippedCamera_T_world | 6DOF pose to minimized the projection error for (inverted and flipped), must be valid |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
distortImagePoints | True, to force the usage of the distortion parameters of the given camera object to distort the projected 2D image points before error determination |
optimizedInvertedFlippedPose | Resulting optimized 6DOF pose (inverted and flipped) |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator |
|
inlinestatic |
Minimizes the projection error of a given 6DOF pose holding orientation and translation parameters together with a flexible zoom.
The given 6DOF pose is a standard extrinsic camera matrix.
pinholeCamera | The pinhole camera object defining the projection between 3D object points and 2D image points |
world_T_camera | 6DOF pose to minimized the projection error for, must be valid |
zoom | The scalar zoom factor matching to the given pose, with range (0, infinity) |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
distortImagePoints | True, to force the usage of the distortion parameters of the given camera object to distort the projected 2D image points before error determination |
world_T_optimizedCamera | Resulting optimized 6DOF pose |
optimizedZoom | Resulting optimized zoom factor matching to the resulting optimized pose, with range (0, infinity) |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator |
invertedCovariances | Optional set of 2x2 inverted covariance matrices that represent the uncertainties of the image points (a 2*n x 2 matrix) |
|
static |
Minimizes the projection error of a given inverted and flipped 6DOF pose holding orientation and translation parameters together with a flexible zoom.
Beware: The given inverted and flipped 6DOF pose is not equivalent to a standard extrinsic camera matrix.
pinholeCamera | The pinhole camera object defining the projection between 3D object points and 2D image points |
flippedCamera_T_world | 6DOF pose to minimized the projection error for (inverted and flipped), must be valid |
zoom | The scalar zoom factor matching to the given pose, with range (0, infinity) |
objectPoints | 3D object points to be projected into the camera plane |
imagePoints | 2D image points corresponding to the object points, the image points may be distorted or undistorted depending on the usage of the distortImagePoints state |
distortImagePoints | True, to force the usage of the distortion parameters of the given camera object to distort the projected 2D image points before error determination |
optimizedInvertedFlippedPose | Resulting optimized 6DOF pose (inverted and flipped) |
optimizedZoom | Resulting optimized zoom factor matching to the resulting optimized pose, with range (0, infinity) |
iterations | Number of iterations to be applied at most, if no convergence can be reached, with range [1, infinity) |
estimator | Robust error estimator to be used |
lambda | Initial Levenberg-Marquardt damping value which may be changed after each iteration using the damping factor, with range [0, infinity) |
lambdaFactor | Levenberg-Marquardt damping factor to be applied to the damping value, with range [1, infinity) |
initialError | Optional resulting averaged pixel error for the given initial parameters, in relation to the defined estimator |
finalError | Optional resulting averaged pixel error for the final optimized parameters, in relation to the defined estimator |
invertedCovariances | Optional set of 2x2 inverted covariance matrices that represent the uncertainties of the image points (a 2*n x 2 matrix) |