概述
Ceres Solver 是一个为大型复杂优化问题建模并解算的开源C++库。它是一个内容丰富,成熟高效的库,自2010年以来已经应用于Google的产品之中。Ceres Solver 可以解决两类问题。
1.带约束的非线性最小二乘问题。
2.一般无约束优化问题。
基本概念
以上方程即为一个带约束的非线性最小二乘。其中,被称为残差块(residual block);被称作残差方程(CostFunction);被称作参数块(parameter blocks);称作亏损函数(LossFunction).
倒数(Derivatives).
Ceres Solver 像大多数优化包一样,依赖于计算目标方程每项的值和导数,高效正确地完成计算对于结果至关重要。Ceres Solver提供了好几种计算方法。一般来说推荐使用自动导数计算,即使用AutoDiffCostFunction模板类。
AutoDiffCosFunction类简介
示例