base for all robust cost functions More...
#include <robust_kernel.h>
Public Member Functions | |
double | delta () const |
virtual void | robustify (double squaredError, Eigen::Vector3d &rho) const =0 |
RobustKernel () | |
RobustKernel (double delta) | |
virtual void | setDelta (double delta) |
virtual | ~RobustKernel () |
Protected Attributes | |
double | _delta |
base for all robust cost functions
Note in all the implementations for the other cost functions the e in the funtions corresponds to the sqaured errors, i.e., the robustification functions gets passed the squared error.
e.g. the robustified least squares function is
chi^2 = sum_{e} rho( e^T Omega e )
Definition at line 51 of file robust_kernel.h.
g2o::RobustKernel::RobustKernel | ( | ) |
Definition at line 31 of file robust_kernel.cpp.
|
explicit |
Definition at line 36 of file robust_kernel.cpp.
|
inlinevirtual |
Definition at line 56 of file robust_kernel.h.
|
inline |
Definition at line 72 of file robust_kernel.h.
|
pure virtual |
compute the scaling factor for a error: The error is e^T Omega e The output rho is rho[0]: The actual scaled error value rho[1]: First derivative of the scaling function rho[2]: Second derivative of the scaling function
Implemented in g2o::RobustKernelDCS, g2o::RobustKernelSaturated, g2o::RobustKernelCauchy, g2o::RobustKernelPseudoHuber, g2o::RobustKernelTukey, g2o::RobustKernelHuber, and g2o::RobustKernelScaleDelta.
|
virtual |
set the window size of the error. A squared error above delta^2 is considered as outlier in the data.
Reimplemented in g2o::RobustKernelHuber.
Definition at line 41 of file robust_kernel.cpp.
|
protected |
Definition at line 75 of file robust_kernel.h.