ICE-BA 是2018年CVPR文章,源码github上可以下载。这篇文章主要介绍了在Bundle Adjustment 方面的创新工作,包括增量式BA,相对边缘化以及快速Local BA。这篇文章也实现了一个完整的vi-slam,从代码看是支持的双目摄像头,有前端跟踪和后端优化。前端跟踪部分,首先通过IMU的旋转积分值R,在跟踪时会用到R。后端就是Local BA 和Global BA,还包括一个相对边缘化操作。作者说,此方法较传统BA方法快2~10倍,并且性能并没有明显损失。
IBA(Incremental Bundle Adjustment)
使用增量方法,实现快速构建舒尔补矩阵;
LBA(Local Bundle Adjustment )
在local BA 部分,把长观测进行有overlap的拆分成多个子观测,从而实现在构建构建更稀疏的H矩阵,可以在求矩阵逆时更快。在利用子观测构建矩阵后,利用舒尔补先求出相机的位姿,然后再解出点的位置。子观测如下图所示:
步骤如下:
- 首先利用子观测构建矩阵[Ax=b]: