Advertisement

Ceres Solver 官方教程学习笔记(十二)——非线性最小二乘法建模 Modeling Non-linear Least Squares (下)。

阅读量:

本部分内容中,最为关键的环节集中于最终的Problem部分。

带条件的代价函数ConditionedCostFunction

此类设计允许用户在应用已封装的损失函数时,对残差值施加特定的约束条件。例如,当前存在一个损失函数可生成N个数值,但用户期望的总体损失并非这些数值的简单平方和。例如,可以通过为某一项残差赋予特定系数,从而调整其在整个损失计算中的比重。具体的实现代码如下:

复制代码
    //  my_cost_function 生成N个残差值。
    CostFunction* my_cost_function = ...
    CHECK_EQ(N, my_cost_function->num_residuals());
    vector<CostFunction*> conditioners;
    
    //  Make N 1x1 cost functions (1 parameter, 1 residual)
    //  将其构造成N个1x1的代价函数。
    CostFunction* f_1 = ...
    conditioners.push_back(f_1);
    CostFunction* f_N = ...
    conditioners.push_back(f_N);
    
    Conditioned

全部评论 (0)

还没有任何评论哟~