gtsam
Loading...
Searching...
No Matches
GncOptimizer.h File Reference

The GncOptimizer class. More...

Go to the source code of this file.

Classes

struct  gtsam::GncIterationTiming
 Timing of one GNC outer iteration (all in seconds). More...
struct  gtsam::GncTiming
 Timing of a full GncOptimizer::optimize() call. More...
class  gtsam::GncOptimizer< GncParameters >

Namespaces

namespace  gtsam
 Global functions in a separate testing namespace.

Enumerations

enum class  gtsam::GncFactorType {
  gtsam::Normal , gtsam::Inlier , gtsam::Outlier , gtsam::NonNoiseModel ,
  gtsam::NullPointer
}
 Enum to classify factor types in GNC optimization. More...

Functions

double gtsam::Chi2inv (const double alpha, const size_t dofs)
bool gtsam::isNullType (GncFactorType type)
bool gtsam::isNonNoiseModelType (GncFactorType type)
bool gtsam::needsWeightUpdate (GncFactorType type)
bool gtsam::hasNoise (GncFactorType type)

Detailed Description

The GncOptimizer class.

Author
Jingnan Shi
Luca Carlone
Frank Dellaert

Implementation of the paper: Yang, Antonante, Tzoumas, Carlone, "Graduated Non-Convexity for Robust Spatial Perception: From Non-Minimal Solvers to Global Outlier Rejection", ICRA/RAL, 2020. (arxiv version: https://arxiv.org/pdf/1909.08605.pdf)

See also: Antonante, Tzoumas, Yang, Carlone, "Outlier-Robust Estimation: Hardness, Minimally-Tuned Algorithms, and Applications", arxiv: https://arxiv.org/pdf/2007.15109.pdf, 2020.

Author
Jingnan Shi
Luca Carlone
Frank Dellaert

Implementation of the paper: Yang, Antonante, Tzoumas, Carlone, "Graduated Non-Convexity for Robust Spatial Perception: From Non-Minimal Solvers to Global Outlier Rejection", ICRA/RAL, 2020. (arxiv version: https://arxiv.org/pdf/1909.08605.pdf)

See also: Antonante, Tzoumas, Yang, Carlone, "Outlier-Robust Estimation: Hardness, Minimally-Tuned Algorithms, and Applications", arxiv: https://arxiv.org/pdf/2007.15109.pdf, 2020.

Note: To adhere to GTSAM's definition of the control parameter $\mu$ we redefine the publications (above) parameter of $\mu$ as $\lambda$ in this implementation.