网站首页 > 技术文章 正文
编辑:计算机视觉工坊
添加小助理:dddvision,备注:自动驾驶,拉你入群。文末附行业细分群
VINS主要包括两种方法:优化和滤波。基于优化的方法在定位的高精度方面很显著,但可能会受到高计算复杂性的影响。相反,基于滤波的方法实现了高效率,但牺牲了精度。因此,迫切需要开发一个结合了高精度和高效率的框架。受到基于优化的方法中的舒尔补的启发,作者充分利用了用于姿态和地标构建的高维残差模型中固有的稀疏结构,以实现EKF的高效性。因此,这篇文章提出了一种既实现了高效率又实现了高精度的基于EKF的VINS框架。
下面一起来阅读一下这项工作~
标题: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
准确性和计算效率是视觉惯性导航系统(VINS)中最重要的指标。现有的具有高精度或低计算复杂度的VINS算法很难在资源受限的设备中提供高精度的定位。为此,我们提出了一种名为SchurVINS的新型基于滤波器的VINS框架,该框架通过构建完整的残差模型和使用舒尔补偿来保证高准确性和低计算复杂度。从技术上讲,我们首先制定了完整的残差模型,其中明确建模了梯度、Hessian和观测协方差。然后,使用舒尔补偿将完整模型分解为自我运动残差模型和地标残差模型。最后,在这两个模型中实现了高效的扩展卡尔曼滤波器(EKF)更新。在EuRoC和TUM-VI数据集上的实验表明,我们的方法在准确性和计算复杂性方面明显优于现有技术方法。
在EuRoC数据集上评估运行时间、CPU使用率和RMSE的比较。不同的形状和颜色分别表示不同的方法和精度。
这篇文章提出了一种基于滤波器的VINS框架,名为SchurVINS,它通过构建完整的残差模型和使用舒尔补保证了高精度和低计算复杂度。技术上,首先制定了完整的残差模型,其中梯度、海塞矩阵和观测协方差被明确建模。然后,使用舒尔补将完整模型分解为自运动残差模型和地标残差模型。最后,在这两个模型中高效实现了扩展卡尔曼滤波器(EKF)更新。对EuRoC和TUM-VI数据集的实验证明,SchurVINS在精度和计算复杂度方面明显优于最先进的方法。主要贡献包括:
(1)提出了一个等价的残差模型,用于处理超高维观测,包括梯度、海塞矩阵和相应的观测协方差。这种方法在EKF系统中具有很大的通用性。
(2)提出了一个轻量级的基于EKF的地标求解器,以高效地估计地标的位置。
(3)开发了一种新颖的基于EKF的VINS框架,以实现自运动和地标的同时精确和高效的估计。
SchurVINS是基于双目配置的开源SVO2.0开发的,其中使用基于滑动窗口的EKF后端替换SVO2.0中的原始后端,使用基于EKF的地标求解器替换原始地标优化器。P1到Pm代表周围环境的有效路标,用于构建残差模型。
精度
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仅使用滑动窗口中的所有观测来进行地标估计。
这篇文章开发了一种基于 EKF 的 VINS 算法,包括新颖的基于 EKF 的地标求解器,以实现具有高效率和高精度的 6 自由度估计。特别是,利用 Hessian、Gradient 和相应的观测协方差构成的等效残差模型来共同估计姿态和地标,以保证高精度定位。为了实现高效率,等效残差模型通过 Schur 补充分别分解为姿态残差模型和地标残差模型进行 EKF 更新。受周围环境元素的概率独立性影响,由此产生的地标残差模型被分割为一组小的独立残差模型,用于每个地标的 EKF 更新,从而显著降低了计算复杂度。
这篇文章是第一个在基于 EKF 的 VINS 算法中利用 Schur 补充因子化残差模型来加速的。基于 EuRoC 和 TUM-VI 数据集的实验表明,SchurVINS在精度和效率上明显优于整体的基于 EKF 的方法和大多数基于优化的方法。此外,SchurVINS所需的计算资源几乎不到 SOTA 基于优化的方法的一半,而精度可比。与此同时,消融研究清楚地表明,基于 EKF 的地标求解器不仅具有显著的效率,而且能够确保高精度。在未来的工作中,作者将专注于 SchurVINS 中的局部地图细化,以探索更高的精度。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
计算机视觉工坊交流群
目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉、大模型、工业3D视觉、SLAM、自动驾驶、三维重建、无人机等方向,细分群包括:
2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
大模型:NLP、CV、ASR、生成对抗大模型、强化学习大模型、对话大模型等
工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、BEV感知、Occupancy、目标跟踪、端到端自动驾驶等。
三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:四旋翼建模、无人机飞控等
除了这些,还有求职、硬件选型、视觉产品落地、最新论文、3D视觉最新产品、3D视觉行业新闻等交流群
添加小助理: dddvision,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。
3D视觉学习知识星球
3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、三维视觉C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪,无人机等。
猜你喜欢
- 2024-10-20 法国红酒分级新旧标准你知道多少?3分钟让你了解清楚!
- 2024-10-20 |期刊分享|SLAM|VINS-Mono:一种稳健的单目视觉惯性状态估计器 上
- 2024-10-20 欧洲歌海娜优质葡萄酒的万种风情 歌海娜1992葡萄酒多少钱
- 2024-10-20 俄罗斯一女子坚持健身6年,一身肌肉让男人自叹不如!
- 2024-10-20 一文速览法国葡萄酒产区 法国葡萄酒6大产区
- 2024-10-20 吊打VINS与LIVO!Switch-SLAM:退化环境下最强多传感器SLAM框架
- 2024-10-20 干货|教你如何看酒标 如何辨别酒的标准号
- 2024-10-20 俄罗斯最强“肌肉芭比”,告诉你什么叫真正的“女汉子”
- 2024-10-20 三分钟读懂澳大利亚葡萄酒酒标 澳大利亚葡萄酒代码
- 2024-10-20 法国地区餐酒(Vins de Pays)的发展史
你 发表评论:
欢迎- 11-18软考系统分析师知识点十六:系统实现与测试
- 11-18第16篇 软件工程(四)过程管理与测试管理
- 11-18编程|实例(分书问题)了解数据结构、算法(穷举、递归、回溯)
- 11-18算法-减治法
- 11-18笑疯了!巴基斯坦首金!没有技巧全是蛮力!解说:真远啊!笑死!
- 11-18搜索算法之深度优先、广度优先、约束条件、限界函数及相应算法
- 11-18游戏中的优化指的的是什么?
- 11-18算法-分治法
- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)