欢迎大家来到IT世界,在知识的湖畔探索吧!
来源:3D视觉工坊
添加小助理:dddvision,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群
扫描下方二维码,加入3D视觉知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门视频课程(星球成员免费学习)、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
0. 这篇文章干了啥?
视觉同时定位与地图构建(SLAM)是运动恢复结构(Structure-from-Motion)的一种在线变体,其输入为视频流。SLAM是机器人领域的一个长期存在的问题,其中规划和控制算法依赖于准确的实时状态估计。最近,视觉SLAM也被用作计算机视觉算法的一个子系统,包括单目深度、视图合成和3D人体姿态等算法。特别是,来自视觉SLAM的相机姿态预测使人们能够轻松地将多个单图像预测置于全局参考框架中。相机姿态还使3D重建和视图合成方法能够利用极线几何的约束。
这些设置的一个关键挑战是它们通常处理没有惯性测量的单目视频,因此需要具有更高跟踪精度的SLAM解决方案。因此,一些计算机视觉算法建立在或利用基于深度网络的SLAM算法来提供相机姿态,这些算法通常比其经典对应物更准确。然而,此类算法需要具有24G内存的GPU才能在所有标准数据集上运行,这使其适用于离线预处理,但不太适合在线应用。
为了解决这一高成本问题,引入了深度补丁视觉里程计(DPVO),它借鉴了DROID-SLAM的总体机制,但去除了对密集对应关系的要求,转而采用稀疏光流,从而大大降低了相机姿态估计的成本。然而,DPVO只是一个里程计系统,意味着它没有机制来纠正累积的姿态误差。一个功能完备的SLAM系统通常会检测之前访问过的位置,并在低频和单独线程(即后端)中执行全局优化。
不幸的是,对于基于深度网络的SLAM系统而言,这种“里程计+后端”范式从根本上来说是行不通的,因为即使在单独进程中调用,同一设备上的两个独立CUDA操作也通常会顺序执行,而非并行执行。其结果是,在单个GPU上,现有的深度SLAM系统会在等待其后端运行单个迭代时,周期性地从约30Hz降至<1Hz。因此,要实现持续实时推理,需要两个独立的GPU。
深度SLAM系统面临的第二个挑战是全局优化需要在GPU内存中存储大量深度特征。对于基于光流的方法,这意味着需要保留所有帧的昂贵密集特征图,以备后端将来可能使用,从而导致GPU内存使用量随视频长度的增加而迅速增长。
为了构建DPV-SLAM,我们引入了两个有效的机制来纠正漂移:一种是基于邻近性的闭环检测,另一种是经典闭环检测。前者利用相机的邻近性来检测闭环,并解决了在深度网络上构建SLAM系统时面临的一个挑战,即它们无法并行运行后端和前端。它不需要单独的GPU,且运行成本低廉、速度快。其核心思想是利用包含里程计和低成本闭环因素的单个共享场景图进行优化。为了实现高效的全局优化,我们提出了一种与DPVO的“补丁图”场景表示兼容的CUDA加速块稀疏束调整实现方法。在EuRoC数据集上,我们基于邻近性的闭环检测运行速度明显快于DROID-SLAM的后端(0.1-0.18秒 vs 0.5-5秒)。我们的次要后端则采用经典的闭环检测机制,该机制利用图像检索和姿态图优化来纠正尺度漂移,并在CPU上运行。
下面一起来阅读一下这项工作~
1. 论文信息
标题:Deep Patch Visual SLAM
作者:Lahav Lipson, Zachary Teed, Jia Deng
机构:Princeton University
原文链接:https://arxiv.org/abs/2408.01654
代码链接:https://github.com/princeton-vl/DPVO
2. 摘要
最近,视觉SLAM领域的研究工作已经证明了使用深度网络主干的有效性。然而,尽管这些方法的准确性很高,但它们往往运行成本高昂或零样本泛化能力不佳。此外,当它们的前端和后端争夺GPU资源时,其运行时间也会发生剧烈波动。为了解决这些问题,我们引入了深度补丁视觉(DPV)SLAM,这是一种在单个GPU上实现单目视觉SLAM的方法。与现有的深度SLAM系统相比,DPV-SLAM保持了较高的最低帧率和小型内存开销(5-7G)。在真实世界的数据集上,DPV-SLAM以1倍至4倍的实时帧率运行。我们在EuRoC和TartanAir数据集上与DROID-SLAM达到了相当的准确性,同时运行速度快了2.5倍,且内存占用更少。DPV-SLAM是DPVO视觉里程计系统的扩展,其代码可以在同一存储库中找到:https://github.com/princeton-vl/DPVO
3. 效果展示
4. 主要贡献
在本文中,我们通过引入一种不受上述问题影响的回环闭合机制,将DPVO里程计系统扩展为完整的SLAM系统,并将整个系统称为“DPV-SLAM”。我们还引入了一种基于传统特征的独立回环闭合机制,其优势与典型的深度SLAM后端相辅相成。这主要是一篇系统论文;我们的目标是为具有全局优化和回环闭合的野外视频提供一种高效且准确的相机姿态估计工具。我们将详细介绍我们的贡献并开源我们的代码。我们希望这将对社区产生宝贵价值。我们在EuRoC、KITTI、TUM-RGBD和TartanAir上评估了我们的方法,并观察到:
DPV-SLAM非常精确。在EuRoC和TartanAir数据集上,我们的表现与DROID-SLAM相近。与DPVO相比,我们在EuRoC数据集上的误差降低了4倍(从0.105降至0.024)。在KITTI数据集上,我们显著优于DROID-SLAM和DPVO。
DPV-SLAM快速且高效。在EuRoC数据集上,DPV-SLAM的运行速度比DROID-SLAM快2.5倍,在KITTI数据集上快2.3倍。与基础DPVO系统相比,我们的速度仅略有下降(例如从60 FPS降至50 FPS),并且成本增加(GPU内存从4G增加到5G)。
DPV-SLAM具有通用性和鲁棒性。我们的方法在许多设置下都表现出色,没有出现过灾难性失败。我们将DPV-SLAM与其他在室内/室外环境中无需重新训练即可报告结果的方法进行了比较,并证明我们的方法在任何领域都不会遇到困难。
5. 基本原理是啥?
DPV-SLAM概述。我们的系统基于DPVO的里程计系统,并引入了两个高效的闭环检测机制来纠正累积的漂移。与DPVO一样,我们的系统也利用补丁图场景表示,并在预测稀疏光流残差与优化相机姿态和深度之间交替进行,通过束调整实现。我们的邻近闭环检测利用预估计的几何信息来检测闭环,并联合优化所有变量。我们的经典闭环检测则使用图像检索和姿态图优化。
6. 实验结果
TUM-RGBD:我们在表1的TUM-RGBD基准测试集的Freiburg 1全集上评估了单目SLAM系统。该基准测试集评估的是室内手持相机运动,由于滚动快门效应和运动模糊,它尤其具有挑战性。视频以30FPS录制。
与其他深度SLAM系统相比,我们的方法表现相似(0.054-0.076 vs 0.38-0.114),但这些其他方法在户外环境下表现不佳(或未报告结果)(见表2)。经典方法通常在该数据集上表现不佳。相反,它们在KITTI数据集上表现良好,而之前的深度SLAM方法则不然。我们的方法在两个数据集上都表现良好。
KITTI:我们在表2的KITTI训练集的00-10序列上评估了单目SLAM系统。视频以10FPS录制。KITTI数据集包括长距离的户外驾驶序列,其中包含多个闭环。在这种设置下,尺度漂移是一个已知的挑战。为了纠正尺度漂移,单目方法必须实现某种形式的闭环检测。然而,如果尺度漂移显著,则基于邻近性的闭环检测是不够的,因此仅依赖此机制的方法在这里表现不佳。DPV-SLAM++也使用了图像检索,在所有报告的方法中实现了第二低的平均误差,同时平均帧率达到了39FPS。
EuRoC-MAV:我们在EuRoC MAV数据集的Machine-Hall和Vicon 1 & 2序列上评估了单目SLAM系统。视频以20FPS录制。该基准测试集包含长序列,存在运动模糊、过曝/欠曝图像和快速相机移动。在EuRoC数据集上,我们的方法与DROID-SLAM表现相似(ATE为0.024 vs 0.022),但运行速度快了2.5倍(50FPS vs 20FPS),且内存占用仅为四分之一(5.0G vs 20G)。与基础DPVO系统相比,我们的误差降低了4倍(从0.105降低到0.024),同时速度仅略有下降(从60FPS降低到50-FPS),成本略有增加(从4G增加到5G)。
7. 限制性 & 总结 & 未来工作
与经典方法不同,DPV-SLAM需要GPU,并且仅提供稀疏的3D重建。全局束调整层的成本也随着姿态变量数量的增加而呈二次方增长,因此我们将其范围限制在1000个(关键)帧内。详细情况请参阅附录。
DPV-SLAM与大多数单目系统一样,在室外环境中有时会受到尺度漂移的影响,尽管已有正交工作通过使用单目深度网络解决了这一问题。图像检索也偶尔会受到假阳性检测的影响。此外,由于调用了U-Net关键点检测器,传统的闭环检测还会额外增加2G的GPU内存开销。
我们介绍了DPV-SLAM,一个用于单目视觉SLAM的系统。DPV-SLAM能够很好地推广到不同的领域,并且效率高。它以相对稳定的帧率运行,并且仅需要单个GPU。我们在EuRoC、TartanAir、TUM-RGBD和KITTI上进行了评估。我们展示了我们的方法在不同领域中的鲁棒性,并且在多个数据集上与最先进的方法相当或更优,同时运行速度更快且计算量更小。我们希望这将对计算机视觉社区来说是一个宝贵的资源。本工作部分得到了美国国家科学基金会的支持。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉、最前沿、工业3D视觉、SLAM、自动驾驶、三维重建、无人机等方向,细分群包括:
工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:四旋翼建模、无人机飞控等
2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
最前沿:具身智能、大模型、Mamba、扩散模型等
除了这些,还有求职、硬件选型、视觉产品落地、产品、行业新闻等交流群
添加小助理: dddvision,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。
▲长按扫码添加助理:cv3d008
3D视觉工坊知识星球
具身智能、3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪等。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/83788.html