Ceres 可以鲁棒的解决以下形式的带有边界约束的非线性最小二乘问题
xmin21i∑τi(∥fi(xi1,...,xik)∥2)s.t. lj≤xj≤μj 这种形式的问题广泛出现在科学研究和工程领域中,从统计学中的 fitting curves 问题到计算机视觉中的 3D models from photographs 问题。
在本章中,我们将学习如何使用 Ceres Solver 求解上述问题,本章中描述的所有示例以及更完整工作代码可以在 examples 目录中找到。
表达式 τi(∥fi(xi1,…,xik)∥2) 在 Ceres 中是一个 ResidualBlock
,其中 fi(⋅) 在 Ceres 中是一个 CostFunction
,它的计算又需要 xij 这些参数的参与, [xi1,…,xik] 统称一个参数块。在大多数优化问题中,小组标量一起出现。例如,平移向量的三个分量和定义相机姿态的四元数的四个分量。我们将这样一组小标量称为 ParameterBlock
。当然 ParameterBlock
也可以只有一个分量。lj and uj 是参数块 xj 的上下界。 τi 是一个 Lossfunction
。它是一个标量函数,用于减小非线性优化问题中的异常值对优化的影响。
在特殊情况下,当 τi(x)=x,是一个恒等映射,并且 lj=−∞ and uj=∞ 我们就能得到常见的非线性优化问题形式如下:
21i∑∥fi(xi1,…,xik)∥2 Last updated