Basic Image AlgorithmS Library
2.8.0
|
Robust computation of similarity transformation between two 3D point sets using a RANSAC approach. More...
#include <Geometry/AbsoluteOrientationRANSAC.hh>
Public Member Functions | |
AbsoluteOrientationRANSAC () | |
int | Compute (const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, RMatrix &dR, Vector3< double > &dt, double &ds, std::vector< bool > &inliers, std::vector< double > &errors, double &errorSum, const std::vector< double > &w=std::vector< double >(0)) |
Computes rotation dR, translation dt and isometric scale ds between coordinate systems from corresponding 3D point sets X and Y using heuristical outlier detection. More... | |
int | Compute (const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, const std::vector< Matrix3x3< double > > &CovX, const std::vector< Matrix3x3< double > > &CovY, RMatrix &dR, Vector3< double > &dt, double &ds, std::vector< bool > &inliers, std::vector< double > &errors, double &errorSum) |
Computes rotation dR, translation dt and isometric scale ds between coordinate systems from corresponding 3D point sets X and Y with covariances CovX, CovY using statistical outlier detection. More... | |
int | Compute (const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, RMatrix &dR, Vector3< double > &dt, std::vector< bool > &inliers, std::vector< double > &errors, double &errorSum, const std::vector< double > &w=std::vector< double >(0)) |
Computes rotation dR and translation dt between coordinate systems from corresponding 3D point sets X and Y using heuristical outlier detection. More... | |
int | Compute (const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, const std::vector< Matrix3x3< double > > &CovX, const std::vector< Matrix3x3< double > > &CovY, RMatrix &dR, Vector3< double > &dt, std::vector< bool > &inliers, std::vector< double > &errors, double &errorSum) |
Computes rotation dR and translation dt between coordinate systems from corresponding 3D point sets X and Y with covariances CovX, CovY using statistical outlier detection. More... | |
int | ComputeRotation (const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, RMatrix &dR, std::vector< bool > &inliers, std::vector< double > &errors, double &errorSum, const std::vector< double > &w=std::vector< double >(0)) |
Computes rotation dR between corresponding 3D ray sets X and Y using heuristical outlier detection. More... | |
int | ComputeRotation (const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, const std::vector< Matrix3x3< double > > &CovX, const std::vector< Matrix3x3< double > > &CovY, RMatrix &dR, std::vector< bool > &inliers, std::vector< double > &errors, double &errorSum, const std::vector< double > &w=std::vector< double >(0)) |
Computes rotation dR between corresponding 3D ray sets X and Y with covariances CovX, CovY using statistical outlier detection. More... | |
double | GetResidualErrors (std::vector< double > &errors, const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, const RMatrix &dR, const Vector3< double > &dt, const double &ds=1.0, const std::vector< bool > &inliers=std::vector< bool >(0), const std::vector< double > &w=std::vector< double >(0)) |
Computes residual errors for inliers of 3D point sets X and Y with respect to given rotation dR, translation dt and isometric scale ds. More... | |
double | GetResidualErrors (std::vector< double > &errors, const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, const std::vector< Matrix3x3< double > > &CovX, const std::vector< Matrix3x3< double > > &CovY, const RMatrix &dR, const Vector3< double > &dt, const double &ds=1.0, const std::vector< bool > &inliers=std::vector< bool >(0)) |
Computes residual errors for inliers of 3D point sets X and Y with covariances CovX, CovY with respect to given rotation dR, translation dt and isometric scale ds. More... | |
double | GetResidualErrors (std::vector< double > &errors, const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, const RMatrix &dR, const std::vector< bool > &inliers=std::vector< bool >(0), const std::vector< double > &w=std::vector< double >(0)) |
Computes residual errors for inliers of 3D point sets X and Y with respect to given rotation dR. More... | |
double | GetResidualErrors (std::vector< double > &errors, const std::vector< Vector3< double > > &X, const std::vector< Vector3< double > > &Y, const std::vector< Matrix3x3< double > > &CovX, const std::vector< Matrix3x3< double > > &CovY, const RMatrix &dR, const std::vector< bool > &inliers=std::vector< bool >(0)) |
Computes residual errors for inliers of 3D point sets X and Y with covariances CovX, CovY with respect to given rotation dR. More... | |
void | SetGreedy (bool greedy) |
Use greedy search for good solution? More... | |
void | SetMaxError (double error) |
Set max. More... | |
void | SetMaxErrorAngle (double angle) |
Set max. More... | |
void | SetMinRatio (double ratio) |
Set min. More... | |
void | SetNumSamples (unsigned int n) |
Set number of random samples to draw from data. More... | |
void | SetRefine (bool refine) |
Refine final solution with all inliers? More... | |
void | SetRotationAlgorithm (AbsoluteOrientation::RotationEstimationMethod algorithm) |
Set algorithm used for rotation estimation. More... | |
void | SetSignificance (double significance) |
Compute max. More... | |
void | SetWeightedTargetFunction (bool use) |
Use residual errors instead of inlier count as target function? More... | |
~AbsoluteOrientationRANSAC () | |
Robust computation of similarity transformation between two 3D point sets using a RANSAC approach.
Definition at line 44 of file AbsoluteOrientationRANSAC.hh.
AbsoluteOrientationRANSAC::AbsoluteOrientationRANSAC | ( | ) |
Definition at line 17 of file AbsoluteOrientationRANSAC.cpp.
References BIAS::Random::Reset().
AbsoluteOrientationRANSAC::~AbsoluteOrientationRANSAC | ( | ) |
Definition at line 28 of file AbsoluteOrientationRANSAC.cpp.
|
inline |
Computes rotation dR, translation dt and isometric scale ds between coordinate systems from corresponding 3D point sets X and Y using heuristical outlier detection.
Returns inlier flags and error residuals for each correspondence.
Definition at line 99 of file AbsoluteOrientationRANSAC.hh.
|
inline |
Computes rotation dR, translation dt and isometric scale ds between coordinate systems from corresponding 3D point sets X and Y with covariances CovX, CovY using statistical outlier detection.
Returns inlier flags and error residuals for each correspondence.
Definition at line 117 of file AbsoluteOrientationRANSAC.hh.
|
inline |
Computes rotation dR and translation dt between coordinate systems from corresponding 3D point sets X and Y using heuristical outlier detection.
Returns inlier flags and residual errors for each correspondence.
Definition at line 135 of file AbsoluteOrientationRANSAC.hh.
|
inline |
Computes rotation dR and translation dt between coordinate systems from corresponding 3D point sets X and Y with covariances CovX, CovY using statistical outlier detection.
Returns inlier flags and residual errors for each correspondence.
Definition at line 154 of file AbsoluteOrientationRANSAC.hh.
|
inline |
Computes rotation dR between corresponding 3D ray sets X and Y using heuristical outlier detection.
Returns inlier flags and error residuals for each correspondence.
Definition at line 172 of file AbsoluteOrientationRANSAC.hh.
|
inline |
Computes rotation dR between corresponding 3D ray sets X and Y with covariances CovX, CovY using statistical outlier detection.
Returns inlier flags and error residuals for each correspondence.
Definition at line 188 of file AbsoluteOrientationRANSAC.hh.
double AbsoluteOrientationRANSAC::GetResidualErrors | ( | std::vector< double > & | errors, |
const std::vector< Vector3< double > > & | X, | ||
const std::vector< Vector3< double > > & | Y, | ||
const RMatrix & | dR, | ||
const Vector3< double > & | dt, | ||
const double & | ds = 1.0 , |
||
const std::vector< bool > & | inliers = std::vector<bool>(0) , |
||
const std::vector< double > & | w = std::vector<double>(0) |
||
) |
Computes residual errors for inliers of 3D point sets X and Y with respect to given rotation dR, translation dt and isometric scale ds.
Definition at line 333 of file AbsoluteOrientationRANSAC.cpp.
References BIAS::AbsoluteOrientation::GetResidualErrors().
double AbsoluteOrientationRANSAC::GetResidualErrors | ( | std::vector< double > & | errors, |
const std::vector< Vector3< double > > & | X, | ||
const std::vector< Vector3< double > > & | Y, | ||
const std::vector< Matrix3x3< double > > & | CovX, | ||
const std::vector< Matrix3x3< double > > & | CovY, | ||
const RMatrix & | dR, | ||
const Vector3< double > & | dt, | ||
const double & | ds = 1.0 , |
||
const std::vector< bool > & | inliers = std::vector<bool>(0) |
||
) |
Computes residual errors for inliers of 3D point sets X and Y with covariances CovX, CovY with respect to given rotation dR, translation dt and isometric scale ds.
Definition at line 366 of file AbsoluteOrientationRANSAC.cpp.
References BIAS::AbsoluteOrientation::GetResidualErrors().
double AbsoluteOrientationRANSAC::GetResidualErrors | ( | std::vector< double > & | errors, |
const std::vector< Vector3< double > > & | X, | ||
const std::vector< Vector3< double > > & | Y, | ||
const RMatrix & | dR, | ||
const std::vector< bool > & | inliers = std::vector<bool>(0) , |
||
const std::vector< double > & | w = std::vector<double>(0) |
||
) |
Computes residual errors for inliers of 3D point sets X and Y with respect to given rotation dR.
Definition at line 397 of file AbsoluteOrientationRANSAC.cpp.
References BIAS::AbsoluteOrientation::GetResidualErrors().
double AbsoluteOrientationRANSAC::GetResidualErrors | ( | std::vector< double > & | errors, |
const std::vector< Vector3< double > > & | X, | ||
const std::vector< Vector3< double > > & | Y, | ||
const std::vector< Matrix3x3< double > > & | CovX, | ||
const std::vector< Matrix3x3< double > > & | CovY, | ||
const RMatrix & | dR, | ||
const std::vector< bool > & | inliers = std::vector<bool>(0) |
||
) |
Computes residual errors for inliers of 3D point sets X and Y with covariances CovX, CovY with respect to given rotation dR.
Definition at line 429 of file AbsoluteOrientationRANSAC.cpp.
References BIAS::AbsoluteOrientation::GetResidualErrors().
|
inline |
Use greedy search for good solution?
Definition at line 80 of file AbsoluteOrientationRANSAC.hh.
|
inline |
Set max.
error for heuristical outlier detection.
Definition at line 64 of file AbsoluteOrientationRANSAC.hh.
|
inline |
Set max.
error angle for heuristical outlier detection for pure absolute rotation estimation.
Max. | angle between input ray and estimated ray in radians. |
Definition at line 70 of file AbsoluteOrientationRANSAC.hh.
|
inline |
|
inline |
Set number of random samples to draw from data.
Definition at line 77 of file AbsoluteOrientationRANSAC.hh.
|
inline |
Refine final solution with all inliers?
Definition at line 83 of file AbsoluteOrientationRANSAC.hh.
|
inline |
Set algorithm used for rotation estimation.
Definition at line 90 of file AbsoluteOrientationRANSAC.hh.
void AbsoluteOrientationRANSAC::SetSignificance | ( | double | significance | ) |
Compute max.
error for statistical outlier detection from given significance level.
Definition at line 33 of file AbsoluteOrientationRANSAC.cpp.
References BIAS::InvChiSquareCulmProbFun().
|
inline |
Use residual errors instead of inlier count as target function?
Definition at line 86 of file AbsoluteOrientationRANSAC.hh.