10 FPS!超真实的重建质量!单目3D GS SLAM最新SOTA来了!
bigegpt 2024-10-12 05:36 10 浏览
来源:3D视觉工坊
添加小助理:dddvision,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群
扫描下方二维码,加入3D视觉知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门视频课程(星球成员免费学习)、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
0. 这篇文章干了啥?
密集同时定位与地图构建(Simultaneous Localization and Mapping,SLAM)是计算机视觉领域的一个基本问题,在机器人技术、增强现实、虚拟现实等多个领域有着广泛的应用。对于所有这些现实世界的应用,任何SLAM系统都必须实时运行,并能够扩展到大型场景。此外,该系统还必须能够抵抗嘈杂的视觉传感器测量数据。
在传统密集SLAM系统中,突出的场景表示方法是三维点云。然而,点云是对世界的一种贫乏表示。作为一种稀疏表示,点云无法提供环境的水密性、逼真的照片级描述。最近,在SLAM文献中引入并研究了两种有前景的场景表示方法:神经辐射场(Neural Radiance Fields,NeRF)和高斯溅射(Gaussian Splatting)。
早期将NeRF作为唯一场景表示的密集SLAM研究实现了实时无相机姿态的三维重建。随后的一些研究结合了经典SLAM方法,如通过特征匹配进行跟踪、密集光束平差、闭环检测和全局光束平差。后来的研究通过结合NeRF以外的其他数据结构,采用现成的跟踪模块和单目深度估计,在性能上实现了若干改进。然而,NeRF存在渲染速度慢的问题;由于实时操作对于SLAM系统至关重要,因此缓慢的渲染速度使得NeRF在作为场景表示时处于不利地位。
随后,以下研究将高斯溅射作为场景表示:早期工作将高斯溅射作为唯一的场景表示,并实时跟踪和映射环境。
然而,将新视图合成方法同时用作跟踪和映射工具既具有吸引力又充满挑战。这种困难源于姿态和地图优化是联合进行的。为了解耦这两项艰巨的任务,采用了传统的SLAM方法,在重建方面展示了优于仅场景表示方法的性能。然而,这些研究要么缺乏密集的深度监督,要么帧率不高。
为此,我们引入了IG-SLAM,这是一个基于深度学习的密集SLAM系统,能够实现实时的照片级真实感3D重建。该系统具有鲁棒的姿态估计、精细的密集深度图和高斯溅射表示。该系统经常执行全局密集光束平差以减少漂移。由于密集SLAM系统优化的姿态和深度图往往存在噪声,我们利用深度不确定性使映射过程对噪声具有鲁棒性。我们高效的映射算法经过专门优化,可与密集深度图协同工作,从而使系统能够以高帧率运行。我们在各种室内RGB序列上进行了大量实验,证明了该方法的鲁棒性、快速操作速度和可扩展性。
下面一起来阅读一下这项工作~
1. 论文信息
标题:IG-SLAM: Instant Gaussian SLAM
作者:Furkan Aykut Sarikamis, Abdullah Aydin Alatan
机构:METU
原文链接:https://arxiv.org/abs/2408.01126
2. 摘要
在SLAM系统中,3D高斯溅射(Gaussian Splatting)作为神经隐式表示的一种替代场景表示方法,最近展现出了令人鼓舞的结果。然而,当前的方法要么缺乏用于监督映射过程的密集深度图,要么缺乏考虑环境尺度的详细训练设计。为了克服这些缺点,我们提出了IG-SLAM,这是一个仅使用密集RGB的SLAM系统,该系统采用稳健的Dense-SLAM方法进行跟踪,并将其与高斯溅射相结合。利用跟踪提供的精确姿态和密集深度信息,构建了环境的3D地图。此外,我们在地图优化中利用深度不确定性来改善3D重建。我们在地图优化中采用的衰减策略增强了收敛性,并允许系统以单进程方式以10 fps的速度运行。我们展示了与最先进的仅RGB SLAM系统相当的性能,同时实现了更快的运行速度。我们在Replica、TUM-RGBD、ScanNet和EuRoC数据集上进行了实验。该系统在大规模序列中实现了逼真的3D重建,特别是在EuRoC数据集中。
3. 效果展示
4. 主要贡献
我们的贡献如下:
? 我们提出了IG-SLAM,这是一种高效的密集RGB SLAM系统,能够以高帧率运行,即使在挑战性条件下也能提供可扩展性和鲁棒性。
? 一种新颖的3D重建算法,该算法考虑了深度不确定性,使3D重建对噪声具有鲁棒性。
? 一种训练程序,旨在使映射过程中的密集深度监督尽可能高效。
5. 基本原理是啥?
我们在图2中概述了所提出的方法。我们的跟踪算法会为每个关键帧生成密集的深度图、深度不确定性以及相机姿态。然后将这些输出用于监督我们的映射算法。高斯函数会根据相机姿态和密集深度进行初始化,并通过颜色和加权深度损失进行优化。通过关键帧的滑动窗口实现实时操作。
6. 实验结果
7. 限制性 & 总结
在全分辨率下进行密集捆集调整是不可行的。因此,密集深度图在低分辨率下进行优化,然后上采样回原始分辨率。我们观察到,这种上采样操作会导致边缘模糊。因此,利用上采样的密集深度图来监督系统,会在深度发生急剧变化的位置导致性能不佳。
我们展示了来自鲁棒密集SLAM方法的深度监督极大地提高了三维重建性能。此外,将深度不确定性用作高斯初始化的掩码和深度损失的权重有助于映射过程。我们还强调了稀疏和密集高斯初始化之间的细微差别及其对映射优化的影响。我们的实验表明,即使在相对较大的场景中,基于密集SLAM的三维重建也能提供最先进的视觉质量和较高的帧率。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
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、线面结构光、硬件结构光扫描仪等。
▲长按扫码学习3D视觉精品课程
3D视觉模组选型:www.3dcver.com
相关推荐
- 当Frida来“敲”门(frida是什么)
-
0x1渗透测试瓶颈目前,碰到越来越多的大客户都会将核心资产业务集中在统一的APP上,或者对自己比较重要的APP,如自己的主业务,办公APP进行加壳,流量加密,投入了很多精力在移动端的防护上。而现在挖...
- 服务端性能测试实战3-性能测试脚本开发
-
前言在前面的两篇文章中,我们分别介绍了性能测试的理论知识以及性能测试计划制定,本篇文章将重点介绍性能测试脚本开发。脚本开发将分为两个阶段:阶段一:了解各个接口的入参、出参,使用Python代码模拟前端...
- Springboot整合Apache Ftpserver拓展功能及业务讲解(三)
-
今日分享每天分享技术实战干货,技术在于积累和收藏,希望可以帮助到您,同时也希望获得您的支持和关注。架构开源地址:https://gitee.com/msxyspringboot整合Ftpserver参...
- Linux和Windows下:Python Crypto模块安装方式区别
-
一、Linux环境下:fromCrypto.SignatureimportPKCS1_v1_5如果导包报错:ImportError:Nomodulenamed'Crypt...
- Python 3 加密简介(python des加密解密)
-
Python3的标准库中是没多少用来解决加密的,不过却有用于处理哈希的库。在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyCrypto和cryptography上,我...
- 怎样从零开始编译一个魔兽世界开源服务端Windows
-
第二章:编译和安装我是艾西,上期我们讲述到编译一个魔兽世界开源服务端环境准备,那么今天跟大家聊聊怎么编译和安装我们直接进入正题(上一章没有看到的小伙伴可以点我主页查看)编译服务端:在D盘新建一个文件夹...
- 附1-Conda部署安装及基本使用(conda安装教程)
-
Windows环境安装安装介质下载下载地址:https://www.anaconda.com/products/individual安装Anaconda安装时,选择自定义安装,选择自定义安装路径:配置...
- 如何配置全世界最小的 MySQL 服务器
-
配置全世界最小的MySQL服务器——如何在一块IntelEdison为控制板上安装一个MySQL服务器。介绍在我最近的一篇博文中,物联网,消息以及MySQL,我展示了如果Partic...
- 如何使用Github Action来自动化编译PolarDB-PG数据库
-
随着PolarDB在国产数据库领域荣膺桂冠并持续获得广泛认可,越来越多的学生和技术爱好者开始关注并涉足这款由阿里巴巴集团倾力打造且性能卓越的关系型云原生数据库。有很多同学想要上手尝试,却卡在了编译数据...
- 面向NDK开发者的Android 7.0变更(ndk android.mk)
-
订阅Google官方微信公众号:谷歌开发者。与谷歌一起创造未来!受Android平台其他改进的影响,为了方便加载本机代码,AndroidM和N中的动态链接器对编写整洁且跨平台兼容的本机...
- 信创改造--人大金仓(Kingbase)数据库安装、备份恢复的问题纪要
-
问题一:在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录,您可...
- OpenSSH 安全漏洞,修补操作一手掌握
-
1.漏洞概述近日,国家信息安全漏洞库(CNNVD)收到关于OpenSSH安全漏洞(CNNVD-202407-017、CVE-2024-6387)情况的报送。攻击者可以利用该漏洞在无需认证的情况下,通...
- Linux:lsof命令详解(linux lsof命令详解)
-
介绍欢迎来到这篇博客。在这篇博客中,我们将学习Unix/Linux系统上的lsof命令行工具。命令行工具是您使用CLI(命令行界面)而不是GUI(图形用户界面)运行的程序或工具。lsoflsof代表&...
- 幻隐说固态第一期:固态硬盘接口类别
-
前排声明所有信息来源于网络收集,如有错误请评论区指出更正。废话不多说,目前固态硬盘接口按速度由慢到快分有这几类:SATA、mSATA、SATAExpress、PCI-E、m.2、u.2。下面我们来...
- 新品轰炸 影驰SSD多款产品登Computex
-
分享泡泡网SSD固态硬盘频道6月6日台北电脑展作为全球第二、亚洲最大的3C/IT产业链专业展,吸引了众多IT厂商和全球各地媒体的热烈关注,全球存储新势力—影驰,也积极参与其中,为广大玩家朋友带来了...
- 一周热门
- 最近发表
-
- 当Frida来“敲”门(frida是什么)
- 服务端性能测试实战3-性能测试脚本开发
- Springboot整合Apache Ftpserver拓展功能及业务讲解(三)
- Linux和Windows下:Python Crypto模块安装方式区别
- Python 3 加密简介(python des加密解密)
- 怎样从零开始编译一个魔兽世界开源服务端Windows
- 附1-Conda部署安装及基本使用(conda安装教程)
- 如何配置全世界最小的 MySQL 服务器
- 如何使用Github Action来自动化编译PolarDB-PG数据库
- 面向NDK开发者的Android 7.0变更(ndk android.mk)
- 标签列表
-
- 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)