struct mp2p_icp::WeightParameters
Overview
Common weight parameters for OLAE and Horn’s solvers.
#include <WeightParameters.h> struct WeightParameters: public mrpt::serialization::CSerializable { // fields RobustKernel robust_kernel = RobustKernel::None; std::optional<mrpt::poses::CPose3D> currentEstimateForRobust; double robust_kernel_param = 1.0; bool use_scale_outlier_detector = false; double scale_outlier_threshold {1.20}; PairWeights pair_weights; // methods void load_from(const mrpt::containers::yaml& p); void save_to(mrpt::containers::yaml& p) const; };
Fields
std::optional<mrpt::poses::CPose3D> currentEstimateForRobust
The current guess for the sought transformation. Must be supplied if use_robust_kernel==true.
bool use_scale_outlier_detector = false
Enables the use of the scale-based outlier detector. Refer to the technical report. This robustness feature is independent from use_robust_kernel.
double scale_outlier_threshold {1.20}
If use_scale_outlier_detector==true, discard a potential point-to-point pairing if the ratio between the norm of their final vectors is larger than this value. A value of “1.0” will only allow numerically perfect pairings, so a slightly larger value is required. The closer to 1, the stricter. A much larger threshold (e.g. 5.0) would only reject the most obvious outliers. Refer to the technical report.
PairWeights pair_weights
See docs for PairWeights.