0. 前言
本文是根据ceres官方教程内容ceres-solver官方教程链接,再结合自己理解的一个ceres快速学习笔记。
在上文ceres快速教材及学习笔记(一)hello,world!中,我们学习了
- 最小二乘问题数学模型;
- 弄清楚了各个参数的意义;
- 利用学习的最小二乘问题数学模型和ceres解决了一个最简单的最小二乘问题;
在上篇博文中,参数块我们只选择了一个,误差项也只有一个。那么怎样使用多个参数块呢?如何添加多个误差项呢?接下来我们来求解稍微复杂的问题,来了解如何添加多个参数块,如果添加多个误差项。
1.曲线拟合
1.1问题
假设我们已知 x i , y i , i ∈ [ 1 , N ] x_i,y_i,i \in[1,N] xi,yi,i∈[1,N],需要求解以下最小二乘问题以估计 a , b , c a,b,c a,b,c。
E q ( 1 ) : min a , b , c 1 2 ∑ i N ∥ y i − e x p ( a x i 2 + b x i + c ) ∥ 2 Eq(1) : \quad\min_{a,b,c} \frac{1}{2}\sum_{i}^N\|y_i-exp(ax_i^2+bx_i+c)\|^2 Eq(1):a,b,cmin21i∑N∥yi−exp(axi2+bxi+c)∥