视觉SLAM十四讲
- 第10讲
- 10.1 理论部分
- 9.2 实践部分
第10讲
10.1 理论部分
这一部分算是对第9讲的补充吧。
1)BA基本问题
- 之前说过,BA是一种批量处理的非线性优化方法,因此BA的规模是一个不可避免的问题。下面是常见的几种控制规模的方法。
- ① 从普通帧中选出关键帧,仅构造关键帧与路标点之间的BA。但关键帧数目过多规模同样会增大。
- ② 滑动窗口法,仅保留离当前时刻最近的N个关键帧。但若相机静止不动,易造成退化问题。因此,有了取时间上靠近,空间上可展开的关键帧的改进。此外,考虑帧间结构深层关系,有了选取共视图中关键帧和路标点进行BA优化的改进。(共视图,指与现在的相机存在共同观测的关键帧构成的图)。
- ③ 位姿图优化,舍弃对路标点的优化,只保留位姿之间的边。
2)滑动窗口法
- 当有新的关键帧进入时,滑动窗口结构会发生改变,因此状态变量将经过新增和删除2步操作。
- 新增:上一时刻已建立N个关键帧的高斯分布,新增关键帧后,仍按照正常BA流程构建N+1个关键帧的高斯分布。
- 删除:若直接删除一个关键帧,则在边缘化该关键帧时会由于填入操作导致矩阵的路标点块不再是对角块。【稀疏BA要求路标块为对角块,不要求位姿块为对角块】因此,在边缘化某个旧关键帧时,要同时边缘化它观测到的路标点。
3)位姿图
- 在此前,介绍过的BA优化结构,是常规的以位姿和路标点位置为节点,观测方程为边的图优化模型。而由于若干次观测后收敛的特征点(路标点)位置变化很小的特性,可以构建只有轨迹的图优化,即位姿图优化:仅以位姿为节点,位姿节点之间相对运动的估计为边的图优化模型,路标点位置作为位姿估计的约束。
- 位姿图优化中,优化变量为各个顶点的位姿,边来自于位姿观测约束。本质上仍旧是最小二乘问题,可用高斯牛顿,L-M法求解。
9.2 实践部分
待续ing