学习任务
- 理解最小二乘法的含义和处理方式。
- 理解Gauss-Newton, Levenburg-Marquadt 等下降策略。
- 学习Ceres 库和g2o 库的基本使用方法。
6.1 状态估计问题
经典slam模型由状态方程和运动方程构成
xk是相机的位姿。我们可以使用变换矩阵或李代数表示它。至于观测方程,第五讲已经说明了它的内容,即针孔相机模型。
6.2 非线性最小二乘
关于最小二乘的详细解释可以参考博客连接
slam非线性最小二乘
最小二乘问题是为了找到测量值和模型预测值之间的最小误差。在SLAM中亦可以看作为观测值和估计值之间的误差。通过求解该问题我们就能够优化我们的模型函数使之更接近与真实的函数模型。
假如该问题为线性的我们可以直接对目标函数求导,并且令其等于零,以此求得其极值,并通过比较求取全局最小值(Global Minimizer),并将其最为目标函数的解。
但是如果问题为非线性,此时我们通常无法直接写出其导数形式(函数过于复杂),因此我们不再去试图直接找到全局最小值,而是退而求其次通过不停的迭代计算寻找到函数的局部最小值(Local Minimizer),并认为该局部最小值能够使得我们的目标函数取得最优解(最小值),这就是非线性最小二乘的通常求解思路。
最速下降法确定增量(只保留一阶)
牛顿法(保留二阶)
G-N和L-M(详细解释看书)