gtsam 4.1.1
gtsam
|
DCS implements the Dynamic Covariance Scaling robust error model from the paper Robust Map Optimization (Agarwal13icra).
Under the special condition of the parameter c == 1.0 and not forcing the output weight s <= 1.0, DCS is similar to Geman-McClure.
Public Member Functions | |
DCS (double c=1.0, const ReweightScheme reweight=Block) | |
double | weight (double distance) const override |
double | loss (double distance) const override |
void | print (const std::string &s) const override |
bool | equals (const Base &expected, double tol=1e-8) const override |
![]() | |
Base (const ReweightScheme reweight=Block) | |
virtual double | loss (double distance) const |
virtual double | weight (double distance) const =0 |
virtual void | print (const std::string &s) const =0 |
virtual bool | equals (const Base &expected, double tol=1e-8) const =0 |
double | sqrtWeight (double distance) const |
Vector | weight (const Vector &error) const |
produce a weight vector according to an error vector and the implemented robust function | |
Vector | sqrtWeight (const Vector &error) const |
square root version of the weight function | |
void | reweight (Vector &error) const |
reweight block matrices and a vector according to their weight implementation | |
void | reweight (std::vector< Matrix > &A, Vector &error) const |
void | reweight (Matrix &A, Vector &error) const |
void | reweight (Matrix &A1, Matrix &A2, Vector &error) const |
void | reweight (Matrix &A1, Matrix &A2, Matrix &A3, Vector &error) const |
Static Public Member Functions | |
static shared_ptr | Create (double k, const ReweightScheme reweight=Block) |
Public Types | |
typedef boost::shared_ptr< DCS > | shared_ptr |
![]() | |
enum | ReweightScheme { Scalar , Block } |
typedef boost::shared_ptr< Base > | shared_ptr |
Protected Attributes | |
double | c_ |
![]() | |
ReweightScheme | reweight_ |
the rows can be weighted independently according to the error or uniformly with the norm of the right hand side | |
Friends | |
class | boost::serialization::access |
Serialization function. | |
|
overridevirtual |
Implements gtsam::noiseModel::mEstimator::Base.
|
overridevirtual |
Reimplemented from gtsam::noiseModel::mEstimator::Base.
|
overridevirtual |
Implements gtsam::noiseModel::mEstimator::Base.
|
overridevirtual |
Implements gtsam::noiseModel::mEstimator::Base.