点击下方
卡片
,关注
「3DCV」
公众号
选择
星标
,干货第一时间送达
来源:计算机视觉工坊 | 编辑:3DCV
添加微信:cv3d008,备注:方向+单位+昵称,拉你入群。文末附行业细分群
0. 这篇文章干了啥?
VINS主要包括两种方法:优化和滤波。基于优化的方法在定位的高精度方面很显著,但可能会受到高计算复杂性的影响。相反,基于滤波的方法实现了高效率,但牺牲了精度。因此,迫切需要开发一个结合了高精度和高效率的框架。受到基于优化的方法中的舒尔补的启发,作者充分利用了用于姿态和地标构建的高维残差模型中固有的稀疏结构,以实现EKF的高效性。因此,
这篇文章提出了一种既实现了高效率又实现了高精度的基于EKF的VINS框架。
下面一起来阅读一下这项工作~
1. 论文信息
标题
:
SchurVINS: Schur Complement-Based Lightweight Visual Inertial Navigation System
作者
:
Yunfei Fan, Tianyu Zhao, Guidong Wang
机构
:
字节跳动
论文
:
https://arxiv.org/abs/2312.01616
代码
:
https://github.com/bytedance/SchurVINS
2. 摘要
准确性和计算效率是视觉惯性导航系统(VINS)中最重要的指标。现有的具有高精度或低计算复杂度的VINS算法很难在资源受限的设备中提供高精度的定位。为此,我们提出了一种名为SchurVINS的新型基于滤波器的VINS框架,该框架通过构建完整的残差模型和使用舒尔补偿来保证高准确性和低计算复杂度。从技术上讲,我们首先制定了完整的残差模型,其中明确建模了梯度、Hessian和观测协方差。然后,使用舒尔补偿将完整模型分解为自我运动残差模型和地标残差模型。最后,在这两个模型中实现了高效的扩展卡尔曼滤波器(EKF)更新。在EuRoC和TUM-VI数据集上的实验表明,我们的方法在准确性和计算复杂性方面明显优于现有技术方法。
3. 效果展示
在EuRoC数据集上评估运行时间、CPU使用率和RMSE的比较。不同的形状和颜色分别表示不同的方法和精度。
4. 主要贡献
这篇文章提出了一种基于滤波器的VINS框架,名为SchurVINS,它通过构建完整的残差模型和使用舒尔补保证了高精度和低计算复杂度。技术上,首先制定了完整的残差模型,其中梯度、海塞矩阵和观测协方差被明确建模。然后,使用舒尔补将完整模型分解为自运动残差模型和地标残差模型。最后,在这两个模型中高效实现了扩展卡尔曼滤波器(EKF)更新。对EuRoC和TUM-VI数据集的实验证明,SchurVINS在精度和计算复杂度方面明显优于最先进的方法。主要贡献包括:
(1)提出了一个等价的残差模型,用于处理超高维观测,包括梯度、海塞矩阵和相应的观测协方差。这种方法在EKF系统中具有很大的通用性。
(2)提出了一个轻量级的基于EKF的地标求解器,以高效地估计地标的位置。
(3)开发了一种新颖的基于EKF的VINS框架,以实现自运动和地标的同时精确和高效的估计。
5. 基本原理是啥?
SchurVINS是基于双目配置的开源SVO2.0开发的,其中使用基于滑动窗口的EKF后端替换SVO2.0中的原始后端,使用基于EKF的地标求解器替换原始地标优化器。P1到Pm代表周围环境的有效路标,用于构建残差模型。
6. 实验结果
精度
SchurVINS的整体精度使用EuRoC和 TUM-VI上的均方根误差(RMSE)进行评估。SchurVINS在迄今为止报告的基于滤波器的方法中获得了数据集中的最低平均 RMSE,并且胜过了大多数基于优化的方法。此外,SchurVINS获得了与众所周知的基于优化方法 BASALT 类似的精度,略低于最近的竞争对手 DMVIO。表 2 中的重新评估实验完全符合预期。值得强调的是,虽然与两个基于优化的竞争对手相比精度稍有下降,但SchurVINS实现的计算复杂度显然比两者都要低,详情见下一小节。
效率
效率评估在 Intel i7-9700(3.00GHZ)台式机平台上进行。全局 BA(GBA)、姿态图优化和闭环检测在所有算法中均已禁用。如表 3 所示,与所有提及的 VINS 算法相比,SchurVINS 几乎实现了最低的处理器使用率。特别是,SVO2.0-wo 与 SchurVINS 需要类似的 CPU 使用率,但由于几乎是纯视觉里程计(VO),它受到显著的不准确性影响。
在表 4 中,SchurVINS 中的 optimizeStructure 模块比 SchurVINS-GN 快近 3 倍。因为SchurVINS通过利用 Schur 补充的中间结果获得了显著的计算节省。相比之下,SchurVINS-GN 重构问题来估计地标。与 SVO2.0-wo 相比,SchurVINS 更快,因为它将高计算量的 SparseImageAlign 替换为传播模块。相比之下,SVO2.0-wo 的 optimizeStructure 显然比 SchurVINS-GN 更快。原因是后者几乎比前者多使用了 4 倍的测量来进行优化。与 SVO2.0 相比,导致算法显著增加运行时间的根本原因是 LBA 的高计算复杂度。考虑到 OpenVINS,值得注意的是,无论是默认配置还是具有 4 个滑动窗口最大尺寸的配置,都不能实现 OpenVINS 在效率上优于 SchurVINS。从这项分析中显著的一点是,OpenVINS 中 SLAM 点的更新需要比 SchurVINS 提出的基于 EKF 的地标估计显著更多的计算资源。
消融研究
上述实验强有力地支持 SchurVINS。因此,有必要研究算法的不同组成部分的影响。基于 SchurVINS,替换或丢弃了基于 EKF 的地标求解器,以分析其有效性。如表 5 所示,如果没有基于 GN 或基于 EKF 的地标求解器之一,SchurVINS 将无法充分限制全局漂移。此外,在某些挑战场景中,SchurVINS 中未同时估计地标可能导致系统发散。表 5 中对比 SchurVINS 和 SchurVINS-GN 表明,提出的基于 EKF 的地标求解器和原始 SVO2.0 的 GN-based 地标求解器都是有效且可靠的,可以保证高精度。此外,在表 4 和表 5 中对它们进行的比较表明,虽然提出的基于 EKF 的地标求解器导致轻微的精度下降,但它可以实现明显的低计算复杂度。精度降低的直观解释是,SchurVINS仅使用滑动窗口中的所有观测来进行地标估计。
7. 总结 & 未来工作
这篇文章开发了一种基于 EKF 的 VINS 算法,包括新颖的基于 EKF 的地标求解器,以实现具有高效率和高精度的 6 自由度估计。特别是,利用 Hessian、Gradient 和相应的观测协方差构成的等效残差模型来共同估计姿态和地标,以保证高精度定位。为了实现高效率,等效残差模型通过 Schur 补充分别分解为姿态残差模型和地标残差模型进行 EKF 更新。受周围环境元素的概率独立性影响,由此产生的地标残差模型被分割为一组小的独立残差模型,用于每个地标的 EKF 更新,从而显著降低了计算复杂度。
这篇文章是第一个在基于 EKF 的 VINS 算法中利用 Schur 补充因子化残差模型来加速的。基于 EuRoC 和 TUM-VI 数据集的实验表明,SchurVINS在精度和效率上明显优于整体的基于 EKF 的方法和大多数基于优化的方法。此外,SchurVINS所需的计算资源几乎不到 SOTA 基于优化的方法的一半,而精度可比。与此同时,消融研究清楚地表明,基于 EKF 的地标求解器不仅具有显著的效率,而且能够确保高精度。在未来的工作中,作者将专注于 SchurVINS 中的局部地图细化,以探索更高的精度。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3D视觉精品课程:
3dcver.com
3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、三维视觉C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪。
▲长按扫码学习3D视觉精品课程
3D视觉学习圈子
3D视觉从入门到精通知识星球
、国内成立最早、6000+成员交流学习。包括:
星球视频课程近20门(价值超6000)
、
项目对接
、
3D视觉学习路线总结
、
最新顶会论文&代码
、
3D视觉行业最新模组
、
3D视觉优质源码汇总
、
书籍推荐
、
编程基础&学习工具
、
实战项目&作业
、
求职招聘&面经&面试题
等等。欢迎加入3D视觉从入门到精通知识星球,一起学习进步。