22#include <gtsam/nonlinear/internal/ChiSquaredInverse.h>
81 double muInitIncrement = 0.2,
double muInit = 0.0)
87 throw std::invalid_argument(
88 "GraduationScheduler: muInit must be in [0, 1].");
100 double updateMu(
const double& mu,
const double& residual,
101 const size_t& updateCount)
const;
109 double updateMuInit(
const double& muInit,
const bool isInlier)
const;
112 bool isMuConverged(
const double& mu)
const;
121 static double MuUpdateMcGann2023(
const double& mu,
const double& residual,
122 const size_t& updateCount);
126 static double MuUpdateStable(
const double& mu,
const double& residual,
127 const size_t& updateCount);
A thin wrapper around std::vector that uses a custom allocator.
typedef and functions to augment Eigen's MatrixXd
Global functions in a separate testing namespace.
Definition chartTesting.h:28
std::function< double(double, double, size_t)> MuUpdateStrategy
Function type for $\mu$ update sequence.
Definition RISAMGraduationScheduler.h:49
GraduationScheduler(MuUpdateStrategy muUpdateStrategy=MuUpdateStable, double muInitIncrement=0.2, double muInit=0.0)
Individual Parameter Constructor.
Definition RISAMGraduationScheduler.h:80
std::shared_ptr< GraduationScheduler > shared_ptr
Shortcut for shared pointer.
Definition RISAMGraduationScheduler.h:47
double muInit() const
Returns the value of $\mu_{init}$ for this graduated.
Definition RISAMGraduationScheduler.h:93
double convergenceThreshold_
The threshold at which to consider mu to be converged.
Definition RISAMGraduationScheduler.h:59
double muInit_
The initial value for mu $\mu_{init}$.
Definition RISAMGraduationScheduler.h:56
double muInitIncrement_
The amount to increment/decrement $\mu_{init}$ if the factor is a strong inlier/outlier when values c...
Definition RISAMGraduationScheduler.h:64
static double MuUpdateStable(const double &mu, const double &residual, const size_t &updateCount)
More stable $\mu$ Update sequence developed empirically since algorithm was published.
Definition RISAMGraduationScheduler.cpp:44
MuUpdateStrategy muUpdateStrategy_
The update strategy for the sequence $\mu$ values.
Definition RISAMGraduationScheduler.h:61