CVPR'24开源 | 吊打一切VINS!又快又好的视觉惯性导航系统!
bigegpt 2024-10-12 05:36 10 浏览
编辑:计算机视觉工坊
添加小助理: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、线面结构光、硬件结构光扫描仪,无人机等。
相关推荐
- 或者这些Joplin插件也可以帮助你的笔记应用再一次强大
-
写在前面距离上次分享《搭建私有全平台多端同步笔记,群晖NAS自建JoplinServer服务》已过去一段时间,大家是否开始使用起来了呢?如果你和我一样已经使用过Joplin有一段时间了,那或许你也会...
- Three.JS教程4 threejs中的辅助类
-
一、辅助类简介Three.js提供了一些辅助类(Helpers)以帮助我们更容易地调试、可视化场景中的元素。ArrowHelepr:创建箭头辅助器;AxisHelper:创建坐标轴辅助器;BoxH...
- 第2章 还记得点、线、面吗(二)(第二章还能敲钟吗)
-
glbgltf模型(webvrmodel)-gltf模型下载定制,glb模型下载定制,三维项目电商网站在线三维展示,usdz格式,vr模型网,网页VR模型下载,三维模型下载,webgl网页模型下载我...
- 如何检查Linux系统硬件信息?从CPU到显卡,一网打尽!
-
你可能会问:“我为什么要关心硬件信息?”答案很简单:硬件是Linux系统的根基,了解它可以帮你解决很多实际问题。比如:性能调优:知道CPU核心数和内存大小,才能更好地调整程序运行参数。故障排查:系统卡...
- SpriteJS:图形库造轮子的那些事儿
-
从2017年到2020年,我花了大约4年的时间,从零到一,实现了一个可切换WebGL和Canvas2D渲染的,跨平台支持浏览器、SSR、小程序,基于DOM结构和支持响应式的,高...
- 平时积累的FPGA知识点(6)(fpga经典应用100例)
-
平时在FPGA群聊等积累的FPGA知识点,第六期:1万兆网接口,发三十万包,会出现掉几包的情况,为什么?原因:没做时钟约束,万兆网接口的实现,本质上都是高速serdes,用IP的话,IP会自带约束。...
- 芯片逻辑调度框架设计 都需要那些那些软件工具
-
设计芯片逻辑调度框架通常需要使用以下软件工具:1.逻辑设计工具:例如Vivado、Quartus、SynopsysDesignCompiler等,用于设计和实现逻辑电路。2.仿真工具:例如Mo...
- ZYNQ与DSP之间EMIF16通信(正点原子领航者zynq之fpga开发指南v3)
-
本文主要介绍说明XQ6657Z35-EVM高速数据处理评估板ZYNQ与DSP之间EMIF16通信的功能、使用步骤以及各个例程的运行效果。[基于TIKeyStone架构C6000系列TMS320C6...
- 好课推荐:从零开始大战FPGA(从零开始的冒险4399)
-
从零开始大战FPGA引子:本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“...
- 业界第一个真正意义上开源100 Gbps NIC Corundum介绍
-
来源:内容由「网络交换FPGA」编译自「FCCM2020」,谢谢。FCCM2020在5月4日开始线上举行,对外免费。我们有幸聆听了其中一个有关100G开源NIC的介绍,我们对该文章进行了翻译,并对其中...
- 高层次综合:解锁FPGA广阔应用的最后一块拼图
-
我们为什么需要高层次综合高层次综合(High-levelSynthesis)简称HLS,指的是将高层次语言描述的逻辑结构,自动转换成低抽象级语言描述的电路模型的过程。所谓的高层次语言,包括C、C++...
- Xilinx文档编号及其内容索引(部分)
-
Xilinx文档的数量非常多。即使全职从事FPGA相关工作,没有几年时间不可能对器件特性、应用、注意事项等等有较为全面的了解。本文记录了我自使用Xilinx系列FPGA以来或精读、或翻阅、或查询过的文...
- Xilinx Vivado联合Modelsim软件仿真
-
引言:Xilinx公司Vivado开发软件自带仿真工具,可以实现一般性能的FPGA软件仿真测试,其测试执行效率以及性能都不如第三方专用仿真软件Modelsim强。本文我们介绍下如何进行Vivado20...
- 体育动画直播是怎么做出来的?从数据到虚拟赛场的科技魔法!
-
你是否见过这样的比赛直播?没有真实球员,却能看梅西带球突破?足球比赛变成动画版,但数据100%真实?电竞比赛用虚拟形象直播,选手操作实时同步?这就是体育动画直播——一种融合实时数据、游戏引擎和AI的...
- Dialogue between CPC and political parties of neighboring countries held in Beijing
-
BEIJING,May26(Xinhua)--TheCommunistPartyofChina(CPC)inDialoguewithPoliticalPartiesof...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- libcrypto.so (74)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)