视觉VIO--5.LM和Dogleg的对比与改进

题目1

a. 选用更优的LM策略,使得VINS-Mono在MH-05数据集上收敛速度更快或者精度更高
b. 实现dog-leg算法替换LM算法,并测试替换后的VINS-Mono在MH-05上算法精度

LM算法流程图

初始化LM参数
normal equation求解
更新阻尼因子

视觉VIO--5.LM和Dogleg的对比与改进_第1张图片
解体思路:滑动优化过程中,特别是滑动窗中关键帧数量稳定时,margin掉一帧和新增一帧,优化问题的结构不会产生很大变化,因此上次优化结果可以利用起来用于下一次优化。

具体做法:

  • 代码中记录优化中最后一次good step的lambda值和chi值
  • 新的优化问题,若初始chi值比记录的上次优化结果chi值小,说明上一次结果也是当前问题的初始线性-- 化点)是很好的初值,此时取上一次优化结果的lambda值的一半作为当前优化问题的初始lambda值,使其更接近高斯牛顿法。
  • 若新优化问题chi值更大,说明初始值策略差,取记录的lambda值的两倍作为新问题初始lambda值,使其更新接近最速下降法。

这个方法通过利用历史优化结果来初始化当前问题,在一开始就找到更好的收敛方向,减少向量优值迭代次数,既有更快的收敛速度,另外在迭代次数一定时,往往能优化更深,更接近迭代最优值,精度更高。

Dogleg算法计算了高斯牛顿法结果hgn和梯度下降法结果hsd,然后在置信区域内以一定策略获取hgn和hsd,迭代过程中虽然需要计算更多的中间量,但是其在bad step时不需像LM再次计算Hessio

你可能感兴趣的:(视觉SLAM)