|
| GncOptimizer (const NonlinearFactorGraph &graph, const Values &initialValues, const GncParameters ¶ms=GncParameters()) |
| Constructor.
|
|
void | setInlierCostThresholds (const double inth) |
| Set the maximum weighted residual error for an inlier (same for all factors). More...
|
|
void | setInlierCostThresholds (const Vector &inthVec) |
| Set the maximum weighted residual error for an inlier (one for each factor). More...
|
|
void | setInlierCostThresholdsAtProbability (const double alpha) |
| Set the maximum weighted residual error threshold by specifying the probability alpha that the inlier residuals are smaller than that threshold.
|
|
void | setWeights (const Vector w) |
| Set weights for each factor. More...
|
|
const NonlinearFactorGraph & | getFactors () const |
| Access a copy of the internal factor graph.
|
|
const Values & | getState () const |
| Access a copy of the internal values.
|
|
const GncParameters & | getParams () const |
| Access a copy of the parameters.
|
|
const Vector & | getWeights () const |
| Access a copy of the GNC weights.
|
|
const Vector & | getInlierCostThresholds () const |
| Get the inlier threshold.
|
|
bool | equals (const GncOptimizer &other, double tol=1e-9) const |
| Equals.
|
|
Vector | initializeWeightsFromKnownInliersAndOutliers () const |
|
Values | optimize () |
| Compute optimal solution using graduated non-convexity.
|
|
double | initializeMu () const |
| Initialize the gnc parameter mu such that loss is approximately convex (remark 5 in GNC paper).
|
|
double | updateMu (const double mu) const |
| Update the gnc parameter mu to gradually increase nonconvexity.
|
|
bool | checkMuConvergence (const double mu) const |
| Check if we have reached the value of mu for which the surrogate loss matches the original loss.
|
|
bool | checkCostConvergence (const double cost, const double prev_cost) const |
| Check convergence of relative cost differences.
|
|
bool | checkWeightsConvergence (const Vector &weights) const |
| Check convergence of weights to binary values.
|
|
bool | checkConvergence (const double mu, const Vector &weights, const double cost, const double prev_cost) const |
| Check for convergence between consecutive GNC iterations.
|
|
NonlinearFactorGraph | makeWeightedGraph (const Vector &weights) const |
| Create a graph where each factor is weighted by the gnc weights.
|
|
Vector | calculateWeights (const Values ¤tEstimate, const double mu) |
| Calculate gnc weights.
|
|