后端优化主要有两种方法,一是以BA为主的图优化,另一种是使用位姿图的优化方法。本讲将讲述位姿图的优化方法。
一、 位姿图介绍
后端优化的目标是在前端给出位姿和路标的初始估计值后,使用已得的全部数据对其进行优化。其中特点是:
- 特征点变量数远大于位姿变量数
- 特征点变量会趋于稳定
其中特征点变量在几次优化后的情况分为两种:
- 收敛:其空间位置会收敛至一个值(三维坐标)保持不动。
- 发散:称为外点,处于视野外,看不到,不再计入地图。
因此,高效的后端优化只需要做:
- 只优化位姿变量
- 无需与前端关联。
而BA做的是:优化每一个相机的位姿和每一个特征点的位置。这样会导致在特征点数目很多的大场景、或运行时间变长后,计算量过大,以至于无法实时化。
因此可以构建位姿图,其特点是:
- 顶点:优化变量只有位姿。 ε ε ε
- 边:运动方程,两个为子节点之间的相对运动估计 δ ε i , j \delta ε_{i,j} δεi,j。由两个关键字之间通过特征匹配之后得到的运动估计来给定初始值,为什么边有初始值?
二、 位姿图优化
与图优化一样,只不过建的图只用位姿不用特征点。思路也是,确定边、顶点,建图,确定误差,确定目标函数,计算雅可比,转为最小二乘问题,使用使用GN、LM等方法优化。
- 顶点:位姿变量(初值由前端给出,李代数标识)
- 边:相邻位姿节点之间的运动估计
- 误差: e i , j e_{i,j} ei,j,对 ε i ε_i εi, ε j ε_j εj分别求导</