gtsam 4.1.1
gtsam
|
Public Member Functions | |
GncParams (const BaseOptimizerParameters &baseOptimizerParams) | |
Constructor. | |
GncParams () | |
Default constructor. | |
void | setLossType (const GncLossType type) |
Set the robust loss function to be used in GNC (chosen among the ones in GncLossType). | |
void | setMaxIterations (const size_t maxIter) |
Set the maximum number of iterations in GNC (changing the max nr of iters might lead to less accurate solutions and is not recommended). | |
void | setMuStep (const double step) |
Set the graduated non-convexity step: at each GNC iteration, mu is updated as mu <- mu * muStep. | |
void | setRelativeCostTol (double value) |
Set the maximum relative difference in mu values to stop iterating. | |
void | setWeightsTol (double value) |
Set the maximum difference between the weights and their rounding in {0,1} to stop iterating. | |
void | setVerbosityGNC (const Verbosity value) |
Set the verbosity level. | |
void | setKnownInliers (const std::vector< size_t > &knownIn) |
(Optional) Provide a vector of measurements that must be considered inliers. More... | |
void | setKnownOutliers (const std::vector< size_t > &knownOut) |
(Optional) Provide a vector of measurements that must be considered outliers. More... | |
bool | equals (const GncParams &other, double tol=1e-9) const |
Equals. | |
void | print (const std::string &str) const |
Print. | |
Public Attributes | |
BaseOptimizerParameters | baseOptimizerParams |
GNC parameters. More... | |
GncLossType | lossType = TLS |
any other specific GNC parameters: More... | |
size_t | maxIterations = 100 |
Maximum number of iterations. | |
double | muStep = 1.4 |
Multiplicative factor to reduce/increase the mu in gnc. | |
double | relativeCostTol = 1e-5 |
If relative cost change is below this threshold, stop iterating. | |
double | weightsTol = 1e-4 |
If the weights are within weightsTol from being binary, stop iterating (only for TLS) | |
Verbosity | verbosity = SILENT |
Verbosity level. | |
std::vector< size_t > | knownInliers = std::vector<size_t>() |
Slots in the factor graph corresponding to measurements that we know are inliers. | |
std::vector< size_t > | knownOutliers = std::vector<size_t>() |
Slots in the factor graph corresponding to measurements that we know are outliers. | |
Public Types | |
enum | Verbosity { SILENT = 0 , SUMMARY , VALUES } |
Verbosity levels. | |
typedef BaseOptimizerParameters::OptimizerType | OptimizerType |
For each parameter, specify the corresponding optimizer: e.g., GaussNewtonParams -> GaussNewtonOptimizer. | |
|
inline |
(Optional) Provide a vector of measurements that must be considered inliers.
The enties in the vector corresponds to the slots in the factor graph. For instance, if you have a nonlinear factor graph nfg, and you provide knownIn = {0, 2, 15}, GNC will not apply outlier rejection to nfg[0], nfg[2], and nfg[15]. This functionality is commonly used in SLAM when one may assume the odometry is outlier free, and only apply GNC to prune outliers from the loop closures.
|
inline |
(Optional) Provide a vector of measurements that must be considered outliers.
The enties in the vector corresponds to the slots in the factor graph. For instance, if you have a nonlinear factor graph nfg, and you provide knownOut = {0, 2, 15}, GNC will not apply outlier rejection to nfg[0], nfg[2], and nfg[15].
BaseOptimizerParameters gtsam::GncParams< BaseOptimizerParameters >::baseOptimizerParams |
GNC parameters.
Optimization parameters used to solve the weighted least squares problem at each GNC iteration
GncLossType gtsam::GncParams< BaseOptimizerParameters >::lossType = TLS |
any other specific GNC parameters:
Default loss