0. 前言
本文是根据ceres官方教程内容ceres-solver官方教程链接,再结合自己理解的一个ceres快速学习笔记。
在博文ceres快速教材及学习笔记(一)hello,world!中,我们学习了
- 最小二乘问题数学模型;
- 弄清楚了各个参数的意义;
- 利用学习的最小二乘问题数学模型和ceres解决了一个最简单的最小二乘问题;
在博文ceres快速教材及学习笔记(二)曲线拟合,稍复杂的例子,中,我们学会了怎样使用多个参数块,如何添加多个误差项。接下来在此基础上我们来求解更加复杂的问题,以处理如何使不同的误差项有不同代价函数以及参数块的情况。
1.鲍威尔方程
1.1. 问题
E q ( 1 ) : min x 1 2 ∑ ∥ F ( x ) ∥ 2 F ( x ) = [ f 1 ( x ) , f 2 ( x ) , f 3 ( x ) , f 4 ( x ) ] f 1 ( x ) = x 1 + 10 x 2 f 2 ( x ) = 5 ( x 3 − x 4 ) f 3 ( x ) = ( x 2 − 2 x 3 ) 2 f 4 ( x ) = 10 ( x 1 − x 4 ) 2 Eq(1) : \quad \min_{x} \frac{1}{2}\sum \|F(x)\|^2\\ F(x) = \left[f_1(x),\ f_2(x),\ f_3(x),\ f_4(x) \right]\\ f_1(x) = x_1 + 10x_2\\ f_2(x) = \sqrt{5} (x_3 - x_4)\\ f_3(x) = (x_2 - 2x_3)^2\\ f_4(x) = \sqrt{10} (x_1 - x_4)^2\\ Eq(1):xmin21∑∥F(x)∥2F(x)=[f1(x), f2(