当前位置: 首页 > news >正文

二手车网站模版产品推广语

二手车网站模版,产品推广语,用别人家网站做跳转,做网站怎么上传我自己的原文哦~ https://blog.51cto.com/whaosoft/12327374 #GSLAM 自动驾驶相关~~~ 一个通用的SLAM架构和基准 GSLAM#xff1a;A General SLAM Framework and Benchmark 开源代码#xff1a;https://github.com/zdzhaoyong/GSLAM SLAM技术最近取得了许多成功A General SLAM Framework and Benchmark 开源代码https://github.com/zdzhaoyong/GSLAM SLAM技术最近取得了许多成功并吸引了高科技公司的关注。然而如何同一现有或新兴算法的界面一级有效地进行关于速度、稳健性和可移植性的基准测试仍然是问题。本文提出了一个名为GSLAM的新型SLAM平台它不仅提供评估功能还为研究人员提供了快速开发自己的SLAM系统的有用工具。GSLAM的核心贡献是一个通用的。跨平台的、完全开源的SLAM接口旨在处理输入数据集、SLAM实现、可视化和应用程序的统一框架中的交互。通过这个平台用户可以以插件形式实现自己的功能以提高SLAM的性能并进一步将SLAM的应用推向实际应用。 从上世纪80年代以来同时定位与地图构建SLAM一直是计算机视觉和机器人领域的热门研究主题。SLAM为许多需要实时导航的应用提供了基本功能如机器人技术、无人机UAVs、自动驾驶、以及虚拟现实和增强现实。近来年SLAM技术得到了迅速发展提出了各种SLAM系统包括单目SLAM系统基于特征点直接和半直接方法、多传感器SLAM系统RGBD、双目和惯性辅助的方法以及基于学习的SLAM系统有监督和无监督方法。 然而随着SLAM技术的迅速发展几乎所有的研究人员都集中精力于自己的SLAM系统的理论和实施这使得难以交流思想并且不容易实现迁移到其他系统。这妨碍了SLAM技术快速应用于各种行业领域。此外目前存在许多SLAM系统的不同实现版本如何有效地进行速度、稳健性和可移植性的基准测试仍然是一个问题。最近Nardi等人和Bodin等人提出了统一的SLAM基准测试系统以进行定量、可比较和可验证的实验研究也探究各种SLAM系统之间的权衡。通过这些系统可以使用数据集和度量评估模块轻松进行评估实验。 由于现有的系统仅提供评估基准该论文认为有可能建立一个平台以服务SLAM算法的整个生命周期包括开发、评估和应用阶段。此外近年来深度学习基础的SLAM已取得显著进展因此有必要创建一个平台不仅支持C还支持Python以更好地支持几何和深度学习基础的SLAM系统的集成。因此在本文中介绍了一个新型的SLAM平台不仅提供评估功能还为研究人员提供了有用的工具以快速开发他们自己的SLAM系统。通过这个平台常用功能以插件形式提供因此用户可以直接使用它们或创建自己的功能以实现更好的性能。希望这个平台能进一步推动SLAM系统的实际应用。总而言之本文的主要贡献如下 本文提出了一个通用的、跨平台的、完全开源的SLAM平台旨在用于研究和商业用途超越了以往的基准测试系统。SLAM接口由多个轻量级、无依赖的头文件组成这使得在统一框架中以插件形式与不同数据集、SLAM算法和应用进行交互变得容易。此外还提供了JavaScript和Python以支持基于Web和深度学习的SLAM应用。提出的GSLAM平台中引入了三个经过优化的模块作为实用工具类包括Estimator、Optimizer和Vocabulary。Estimator旨在提供一组封闭形式的求解器涵盖所有情况具有强大的样本一致性RANSACOptimizer旨在提供流行的非线性SLM问题的统一接口Vocabulary旨在提供高效且可移植的词袋实现用于多线程和SIMD优化的地点识别。受益于上述接口该工作在一个统一的框架中实现并评估了现有数据集、SLAM实现和可视化应用的插件未来出现的基准测试或应用也可以轻松地进行进一步集成。 下面首先介绍GSLAM框架的接口并解释GSLAM的工作原理。其次介绍三个实用组件即Estimator, Optimizer和Vocabulary。然后使用几个典型的公共数据集使用GSLAM框架来评估不同流行的SLAM实现。最后总结这些工作并展望未来的研究方向。 Simultaneous Localization And Mapping SLAM技术用于在未知环境中构建地图并将传感器在地图中进行定位主要侧重于实时操作。早期的SLAM主要基于扩展卡尔曼滤波(EKF)。将6自由度的运动参数和3D地标以概率方式表示为单一状态向量。经典EKF的复杂性随着地标数量的增加呈二次增长限制了其可拓展性。近年来SLAM技术得到了快速发展提出了许多单目视觉SLAM系统包括基于特征点、直接法和半直接方法。然而单目SLAM系统缺乏尺度信息无法处理纯旋转情况因此一些其他多传感器SLAM系统包括RGBD双目和惯性辅助方法出现以提高鲁棒性和精度。 尽管提出了大量的SLAM系统但在统一这些算法的接口方面几乎没有什么工作也没有对它们的性能进行全面的比较。此外这些SLAM算法的实现通常以独立的可执行文件的形式发布而不是以库的形式而且往往不符合任何标准结构。 最近基于深度学习的有监督和无监督的视觉里程计VO与传统的基于几何的方法相比提出了新颖的思路。但是进一步优化多个关键帧的一致性仍然不容易。GSLAM提供的工具可以帮助获得更好的全局一致性。通过该框架更容易可视化或评估结果并进一步应用于各种行业领域。 Computer Vision and Robotics Platform 在机器人技术和计算机领域机器人系统ROS提供了节点之间非常便捷的通信方式受到大多数机器人研究人员的青睐。许多SLAM实现提供了ROS包装器以订阅传感器数据并发布可视化结果。但它并未统一SLAM实现的输入和输出难以进一步评估不同SLAM系统。 受ROS消息架构的启发GSLAM实现了一个类似的进程间通信实用类称为Messenger。这为替代SLAM实现内部的ROS提供了另一种选择并保持了兼容性也就是说该框架内支持所有ROS定义的消息并自然地实现了ROS包装器。由于采用了进程内设计消息传递时没有序列化和数据传输消息可以无延迟和额外成本地发送。与此同时消息的有效载荷不仅限于ROS定义的消息还可以是任何可复制的数据结构。此外不仅提供评估功能还为研究人员提供了有用的工具以快速开发和集成他们自己的SLAM算法。 SLAM Benchmarks 目前存在几种SLAM基准测试系统包括KITTI基准测试、TUM RGB-D基准测试和ICL-NUIM RGB-D基准数据集这些系统仅提供评估功能。此外SLAMBench2将这些基准测试扩展为算法和数据集要求用户将已发布的实现与SLAMBench2兼容以进行评估这难以扩展到更多应用领域。与这些系统不同本文提出的GSLAM平台提供了一个解决方案可为SLAM实现的整个生命周期提供服务从开发、评估到应用。为研究人员提供了有用的工具以快速开发他们自己的SLAM系统并进一步基于统一接口开发可视化、评估和应用程序。 通用SLAM架构 Framework Overview GSLAM的框架如图所示。总的来说接口旨在处理三个部分的交互。 处理SLAM实现的输入。运行SLAM时需要传感器数据和一些参数。对于GSLAM使用Svar类进行参数配置和命令处理。所有SLAM实现所需的传感器数据都由Dataset实现提供并使用Messenger进行传输。GSLAM实现了几个流行的视觉SLAM数据集用于可以自由实现自己的数据集插件。SLAM实现。GSLAM将每个实现视为插件库。开发人员可以非常容易地基于GSLAM接口和实用类设计一个SLAM实现。开发人员还可以使用接口包装实现而无需引入额外的依赖。用户可以专注于核心算法的开发而无需关心SLAM实现外部需要处理的输入和输出。可视化部分或使用SLAM结果的应用。在SLAM实现处理输入帧后用户可能希望展示或利用结果。为了通用性SLAM结果应以标准格式发布。默认情况下GSLAM使用Qt进行可视化但用户可以自由实现自定义的可视化工具并添加应用插件如评估应用程序。 该框架被设计为与各种不同类型的SLAM实现兼容包括但不限于单目、双目、RGBD和多摄像头视觉惯性里程计与多传感器融合。现代深度学习平台和开发人员更喜欢使用Python进行编码因此GSLAM提供了Python绑定开发人员能够使用Python实现SLAM并使用GSLAM调用它或者使用Python调用基于C的SLAM实现。此外还支持JavaScript用于基于Web的用途。 Basic Interface Classes SLAM接口通常使用的一些数据结构包括参数设置/读取、图像格式、姿态变换、相机模型和地图数据结构。以下是一些基本接口类的简要介绍。 Paramter Setting GSLAM使用一个小巧的参数解析和参数设置类Svar它仅包含一个头文件依赖于C11并具有以下特点 a.参数解析和配置加载以及帮助信息。类似于流行的参数解析工具如Google gflags变量配置可以从命令行参数、文件和系统环境中加载。用户还可以定义不同类型的参数并提供介绍信息这些信息将显示在帮助文档中。 b.一个小型脚本语言支持变量、函数和条件语句使配置文件更加强大。 c.线程安全的变量绑定和共享。建议将使用频率非常高的变量绑定到指针或引用上这不仅提供了高效性还提供了便利性。 d,简单的函数定义和从C或纯脚本进行调用。命令和函数之间的绑定有助于开发人员解耦文件依赖关系。 e.支持树形结构表示这意味着可以轻松地使用XML、JSON和YAML格式加载或保存配置。 Intra-Process Messaging 由于ROS提供了一个非常便捷的节点间通信方式受到大多数机器人研究人员的青睐。受到ROS2消息架构的启发GSLAM实现了一个类似的进程间通信实用类称为Messenger。这为替代SLAM实现内部的ROS提供了另一种选择并保持了兼容性。由于采用了进程间设计Messenger能够发布和订阅任何类而无需额外成本。以下是更多功能的介绍 a.该接口采用了ROS的风格对用来说容易上手。而且支持所有ROS定义的消息这意味着只需要很少的工作就能替代原来的ROS消息传递系统。 b.由于没有序列化和数据传输消息可以无延迟和额外成本地发送。与此同时消息的有效载荷不仅限于ROS定义的消息还支持任何可复制的数据结构。 c.源代码只包括基于C11的头文件没有额外的依赖使其具有可移植性。 d.API是线程安全的并在列队大小大于零时支持多线程条件通知。在发布者和订阅者相互连接之前会对主题名称和RTTI数据结构进行检查以确保正确地调用。 3D Transforamtion 类似地定义了刚体和相似性变换的李代数se(3)和sim(3)。GSLAM使用四元数来表示旋转部分并提供了一种表示形式转换为另一种表示形式的函数。表格1展示了变换实现并于另外三种流形的实现(Sophus, TooN和Ceres)进行了比较。由于Ceres实现使用角轴表示因此不需要旋转的指数和对数。如表格所示GSLAM的实现性能更佳因为它使用四元数并具有更好的优化而TooN使用矩阵实现在点变换方面性能更好。 Image format 图像数据的存储和传输是视觉SLAM中最重要的功能之一。为了提高效率和便利性GSLAM使用了一个数据结构GImage它与cv::Mat兼容。它具有智能指针计数器以确保内存安全释放并且可以在不进行内存复制的情况下轻松传输。数据指针对齐以便更容易进行单指令多数据SIMD加速。用户可以在GImage和cv::Mat之间无缝、安全地进行转换而无需进行内存复制。 Camera Models 由于SLAM可能包含由于制造不完美而引起的径向和切向畸变或者是由鱼眼或全景相机捕捉的图像因此提出了不同的相机模型来描述投影。GSLAM提供了包括OpenCVORB-SLAM使用、ATANPTAM使用和OCamCalibMultiCol-SLAM使用在内的实现。用户也可以轻松继承这些类并实现其他相机模型如Kannala-Brandt和等距全景模型。 Map Data Structure 对于SLAM实现其目标是实时定位并生成地图。GSLAM建议使用一个统一的地图数据结构有多个地图帧和地图点组成。这个数据结构适用于大多数已有的视觉SLAM系统包括基于特征或直接方法。 地图帧用于表示不同时间的位置状态包括由传感器捕捉的各种信息或估算结果包括IMU或GPS原始数据、深度信息和相机模型。SLAM实现估算它们之间的关系它们之间的连接形成了一个姿势图。 地图点用于表示由帧观察到的环境通常由基于特征的方法使用。但是一个地图点不仅可以表示一个关键点还可以表示一个GCP地面控制点、边缘线或3D对象。它们与地图帧的对应关系形成了一个观察图通常被称为捆绑图。 SLAM实现工具 为了更容易实现一个SLAM系统GSLAM提供了一个实用类。本节将简要介绍三个经过优化的模块分别是Estimator, Optimizer和Vocabulary。 Estimator 纯几何计算仍然是一个需要强大和准确的实时解决方案的基本问题。传统的视觉SLAM算法或现代的视觉惯性解决方案都依赖与几何视觉算法来进行初始化、重定位和回环闭合。OpenCV提供了多个几何算法Kneip提供了一个用于几何视觉的工具箱OpenGV该工具箱仅限于相机姿态计算。GSLAM的Estimator旨在提供一系列包括所有情况的封闭形式解算器并使用了鲁棒的随机采样一致性方法RANSAC。 表2列出了Estimator支持的算法。根据给定的观测数据它们被分成三类。2D-2D匹配用于估计极线或单应约束并且可以从中分解相对姿态。2D-3D对应于估计单目或多摄像头系统的中心或非中心绝对位姿这是著名的PnP问题。还支持3D几何函数如平面拟合以及估算两个点云的SIM变换。大多数算法都依赖与开源线性代数库Eigen它是一个仅包含头文件的库并且适用于大多数平台。 Optimizer 非线性优化是现代几何SLAM系统的核心部分。由于Hessian矩阵的高纬度和稀疏性图结构被用来建模SLAM的复杂估计问题。提出了几种框架包括Ceres、G2O和GTSAM用于解决一般的图优化问题。这些框架在不同的SLAM系统中广泛使用。ORB-SLAM、SVO使用G2O进行BA和位姿图优化。OKVIS、VINS使用Ceres进行带IMU因素的图优化滑动窗口用于控制计算复杂性。Forster等人提出了一种基于SVO的视觉初始化方法并使用GTSAM实现后端。 GSLAM的Optimizer旨在为大多数非线性SLAM问题提供一个统一的接口如PnP求解器BA姿态图优化。基于Ceres库实现了这些问题的通用插件。对于特定问题如BA还可以提供一些更高效的实现如PBA和ICE-BA作为插件。使用优化器工具开发人员可以使用统一的接口访问不同的实现特别是用于基于深度学习的SLAM系统。 Vocabulary 地点识别是SLAM系统中最重要的部分之一用于重新定位和回环检测。词袋(BoW)方法在SLAM系统中广泛使用因为它高效且性能出色。FabMap提出了一种基于外观的地点识别的概率方法该方法用于RSLAM、LSD-SLAM等系统。由于它使用了像SIFT和SURF这样的浮点描述子DBoW2为训练和检测构建了一个词汇树支持二进制和浮点描述子。Refael提出了DBoW2的两个改进版本DBoW3和FBoW它们简化了接口并加快了训练和加载速度。之后ORB-SLAM采用了ORB描述子并使用DBoW2进行回环检测、重定位和快速匹配。随后一系列SLAM系统如ORB-SLAM2、VINS-Mono和LDSO使用DBoW3进行回环检测。它已经成为实现SLAM系统地点识别的最流行工具。 受上述工作的启发GSLAM对DBoW3词汇进行了仅包含头文件的实现具有以下特点 去除了对OpenCV的依赖所有函数都在一个仅依赖C11的头文件中实现。结合DBoW2/3和FBoW的优点具有极快的速度和易于使用。提供了类似于DBoW3的接口并使用SSE和AVX指令加速了二进制和浮点描述子。改进了内存使用和加速了加载、保存或训练词汇以及从图像特征到BoW向量转换的速度。 表3展示了四个词袋库的比较。在实验中每个父节点有10个子节点ORB特征检测使用ORB-SLAMSIFT检测使用SiftGPU。实现结果中使用了ORB词汇分别有4级和6级以及一个SIFT词汇。FBoW和GSLAM都使用多线程进行词汇训练。GSLAM的实现在几乎所有项目中的表现都优于其他实现包括加载和保存词汇、训练新词汇、将描述符列表转换为用于地点识别的BoW向量和用于快速特征匹配的特征向量。此外GSLAM实现使用更少的内存并分配了更少的动态内存块因为DBoW2需要大量内存的主要原因是碎片问题。 SLAM评估基准 现有的基准需要用户下载测试数据集并上传结果以进行精确性评估这不足以统一运行环境并评估公平的性能比较。得益于GSLAM的统一接口SLAM系统的评估变得更加优雅。在GSLAM的帮助下开发人员只需上传SLAM插件便可以在一个使用固定资源的docker化环境中进行速度、计算成本和准确性的各种评估。在本节中将首先介绍一些数据集和已实现的SLAM插件。然后对速度、准确性、内存和CPU使用率进行三个代表SLAM实现的评估。此评估旨在展示具有不同SLAM插件的统一SLAM基准实现的可能性。 Datasets 运行SLAM系统通常需要传感器数据流和相应的配置。为了让开发人员专注于核心SLAM插件的开发GSLAM提供了一个标准的数据集接口开发人员不需要关心SLAM的输入。通过不同的数据集插件提供了在线传感器输入和离线数据正确地插件会根据给定的数据集路径后缀动态加载。数据集的实现应该提供所有请求的传感器流以及相关配置因此不需要为不同的数据集进行额外设置。所有不同的传感器流通过Messenger发布使用标准的主题名称和数据格式。 GSLAM已经实现了几个流行的视觉SLAM数据集插件如表4所示。用户也可以非常容易地基于仅包含头文件的GSLAM核心来实现一个数据集插件并将其发布为插件并与应用程序一起进行编译。 SLAM Implementations 图2展示了一些使用内置Qt可视化器运行的开源SLAM和SfM插件的屏幕截图。该框架支持不同体系结构的SLAM系统包括直接法、半直接法、基于特征的方法甚至SfM方法。DSO实现需要发布结果例如点云、相机姿势、轨迹和姿态图以便像基于ROS的实现一样进行可视化。用户可以使用统一的框架访问不同的SLAM插件根据C、Python和Node-JS接口开发基于SLAM的应用程序非常方便。由于许多研究人员在开发中使用ROSGSLAM还提供了ROS可视化插件以无缝传输ROS定义的消息并使开发人员可以利用Rviz进行显示或继续开发其他基于ROS的应用程序。 Evaluation 由于大多数现有的基准只提供数据集或者没有groundtruth供用户自行进行评估GSLAM提供了一个内置插件和一些脚本工具用于计算性能和精度评估。 论文中使用TUM RGBD数据集中的序列nostructure-texture-near-withloop来演示评估的执行情况。接下来的实验采用三个开源的单目SLAM插件DSO, SVO和ORB-SLAM。在所有实验中使用一台搭载i7-6700 CPU、GTX 1060 GPU和16GB RAM的计算机运行64位Ubuntu 16.04。 计算性能评估包括内存使用、分配内存块数量、CPU使用率以及统计每帧所用的时间如图3所示。结果表明SVO使用的内存和CPU资源最少并获得了最快的速度。而且由于SVO只是一个视觉里程计在实现内部只维护了一个本地地图所以成本保持稳定。DSO分配的内存块数较少但消耗了100MB以上的内存且增长较慢。DSO的一个问题是当帧数低于500时处理时间会急剧增加此外关键帧的处理时间甚至更长。ORB-SLAM使用了最多的CPU资源计算时间稳定但内存使用快速增加并且它分配和释放了大量的内存块因为其BA使用了G2O库没有使用增量优化方法。 图4展示了里程计轨迹的评估结果。如图所示SVO速度较快但漂移较大而ORBSLAM在绝对姿态误差(APE)方面达到了最高的精度。由于综合评估是一个可插拔的插件应用程序可以重新实施更多的评估指标例如点云的精度。 总结 本文介绍了一个名为GSLAM的新型通用SLAM平台该平台提出了从开发、评估到应用的支持。通过这个平台常用的工具包以插件形式提供用户还可以轻松地开发自己的模块。为了使平台易于使用使接口只依赖于C11。此外还提供了Python和JavaScript接口以更好地集成传统SLAM和基于深度学习的SLAM或在Web上进行分布式操作。 在接下来的研究中会提供更多的SLAM实现、文档和演示代码以便学习和使用。此外还将提供传统SLAM和基于深度学习的SLAM的集成以进一步探索SLAM系统的未知可能性。 #SLAM ~ 这是一篇多传感器/姿态估计/动态环境/视觉里程计的文章 近年来基于视觉的传感器在SLAM系统中显示出显著的性能、精度和效率提升。在这方面视觉SLAMVSLAM方法是指使用相机进行姿态估计和地图生成的SLAM方法。许多研究工作表明VSLAM优于传统方法传统方法仅依赖于特定传感器例如激光雷达即使成本较低。VSLAM利用不同的摄像机类型例如单目、双目和RGB-D在不同的数据集例如KITTI、TUM RGB-D和EuRoC和不同的环境例如室内和室外中进行测试并采用了多种算法和方法论以更好地解析环境。 上述变化使这一主题受到研究人员的广泛关注并产出了许多经典VSLAM算法。在这方面论文调查的主要目的是介绍VSLAM系统的最新进展并讨论现有的挑战和未来趋势。论文对在VSLAM领域发表的45篇有影响力的论文进行了深入的调查并根据不同的特点对这些方法进行了分类包括novelty domain、目标、采用的算法和语义水平。最后论文讨论了当前的趋势和未来的方向有助于研究人员进行研究。 总结来说图1显示了标准VSLAM方法的整体架构。系统的输入可以与其他传感器数据集成以提供更多信息例如惯性测量单元IMU和激光雷达而不是只有视觉数据。此外对于VSLAM 范式中使用的直接或间接方法视觉特征处理模块的功能可能会被更改或忽略。例如“特征处理”阶段仅用于间接方法。另一个因素是利用一些特定模块如回环检测和光束法平差以改进执行。 视觉SLAM 的算法的发展 VSLAM系统在过去的几年中已经成熟一些框架在这个开发过程中发挥了重要作用。图2展示了视觉SLAM发展过程中的里程碑算法。 首篇实时单目VSLAM于2007年由Davison提出名为Mono SLAM的框架[17]。他们的间接框架可以使用扩展卡尔曼滤波EKF算法估计现实世界中的相机运动和3D元素[18]。尽管缺乏全局优化和回环检测模块Mono SLAM开始在VSLAM域中发挥主要作用。然而用这种方法重建的地图只包括地标没有提供关于该区域的进一步详细信息。 Klein等人[14]在同一年提出了Parallel Tracking and MappingPTAM他们将整个VSLAM系统分为两个主要线程tracking和mapping。PTAM为后续很多工作奠定了基石。PTAM方法的主要思想是降低计算成本并使用并行处理来实现实时性能。当tracking实时估计摄像机运动时mapping预测特征点的3D位置。PTAM也是第一个利用光束法平差BA联合优化相机姿态和3D地图创建的方法。其使用Features from Accelerated Segment TestFAST[19]的角点检测器算法进行关键点匹配和跟踪。尽管该算法的性能优于Mono SLAM但其设计复杂在第一阶段需要用户输入。 Newcombe等人于2011年提出了一种用于测量深度值和运动参数来构建地图的直接方法即密集跟踪和映射DTAM。DTAM是一种密集建图和密集跟踪模块的实时框架可通过将整个帧与给定深度图对齐来确定相机姿态。为了构建环境地图上述阶段分别估计场景的深度和运动参数。虽然DTAM可以提供地图的详细信息但实时执行需要较高的计算成本。作为3D 建图和基于像素的优化领域中的另一种间接方法Endres等人在2013年提出了一种可用于RGB-D相机的方法。他们的方法是实时的专注于低成本嵌入式系统和小型机器人但在无特征或具有挑战性的场景中无法产生准确的结果。同年Salas Moreno等人[22]提出了SLAM是实时SLAM框架中利用语义信息的开山之作。SLAM采用RGB-D传感器输出并进行3D相机姿态估计和跟踪以形成姿态图。然后通过合并从场景中的语义目标获得的相对3D姿态来优化预测姿态。 随着VSLAM基线的成熟研究人员专注于提高这些系统的性能和精度。Forster等人在2014年提出了一种混合VO方法称为Semi-direct Visual OdometrySVO[24]。SVO可以结合基于特征的方法和直接方法来实现传感器的运动估计和建图任务。SVO可以与单目和双目相机一起工作并配备了一个姿态细化模块以最小化重投影误差。然而SVO的主要缺点是采用短期数据关联并且无法进行回环检测和全局优化。 LSD-SLAM[25]是Engel等人于2014年提出的另一种有影响力的VSLAM方法包含跟踪、深度估计和地图优化。该方法可以使用其姿态图估计模块重建大规模地图并具有全局优化和回环检测功能。LSD-SLAM的弱点在于其初始化阶段需要平面中的所有点这使其成为一种计算密集型方法。Mur Artal等人介绍了两种精确的间接VSLAM方法迄今为止广受关注:ORB-SLAM[26]和ORBSLAM 2.0[27]。这些方法可以在纹理良好的序列中完成定位和建图并使用Oriented FAST and Rotated BRIEFORB特征实现高性能的位置识别。ORB-SLAM的第一个版本能够使用从相机位置收集的关键帧来计算相机位置和环境结构。第二个版本是对ORB-SLAM的扩展有三个并行线程包括查找特征对应的跟踪、地图管理操作的局部建图以及用于检测新环路和纠正漂移错误的回环。尽管ORB-SLAM 2.0可以与单目和立体相机一起使用但由于重建具有未知比例的地图因此不能用于自主导航。这种方法的另一个缺点是其无法在没有纹理的区域或具有重复模式的环境中工作。该框架的最新版本名为ORB-SLAM 3.0于2021提出[28]。它适用于各种相机类型如单目、RGB-D和双目视觉并提供改进的姿态估计输出。 近年来随着深度学习的快速发展基于CNN的方法可以通过提供更高的识别和匹配率来解决许多问题。类似地用学习特征替换人工设计的特征是许多最近基于深度学习的方法提出的解决方案之一。在这方面Tateno等人提出了一种基于CNN的方法该方法处理相机姿态估计的输入帧并使用关键帧进行深度预测命名为CNN-SLAM[29]。CNN-SLAM实现并行处理和实时性能的核心思想之一是将相机帧分割成较小的部分以更好地理解环境。Engel等人还引入了Direct Sparse OdometryDSO[30]其将直接方法和稀疏重建相结合以提取图像块中的最高强度点。 综上所述VSLAM系统演进过程中的里程碑表明最近的方法侧重于多个专用模块的并行执行。这些模块形成了与广泛的传感器和环境兼容的通用技术和框架。上述特性使它们能够实时执行并且在性能改进方面更加灵活。 相关综述 VSLAM领域已有不少综述对不同的现有方法进行了全面调查。每一篇论文都回顾了使用VSLAM方法的主要优点和缺点。Macario Barros等人[31]将方法分为三个不同类别仅视觉单目、视觉惯性立体和RGB-D。他们还提出了简化分析VSLAM算法的各种标准。然而[31]并没有包括其他视觉传感器比如基于事件的传感器。Chen等人[32]调查了广泛的传统和语义VSLAM。他们将SLAM开发时代分为经典、算法分析和鲁棒感知阶段。并总结了采用直接/间接方法的经典框架研究了深度学习算法在语义分割中的影响。 尽管他们的工作提供了该领域高级解决方案的全面研究但方法的分类仅限于基于特征的VSLAM中使用的特征类型。Jia等人[33]调查了大量文献并对基于图优化的方法和配备深度学习的方法进行了简要比较。在另一项工作中Abaspur Kazerouni等人[34]涵盖了各种VSLAM方法利用了感官设备、数据集和模块并模拟了几种间接方法进行比较和分析。它们只对基于特征的算法进行分析例如HOG、尺度不变特征变换SIFT、加速鲁棒特征SURF和基于深度学习的解决方案。Bavle等人[35]分析了各种SLAM和VSLAM应用中的态势感知方面并讨论了它们的缺失点。还有一些其他综述如[15]、[36]、[37]、[32]、[37]在此不再赘述。 与上述综述不同本文对不同场景的VSLAM系统进行全面调查主要贡献如下 对各种最近的VSLAM方法进行分类这些方法涉及研究人员在提出新解决方案方面的主要贡献、标准和目标 通过深入研究不同方法的不同方面分析VSLAM系统的当前趋势 介绍VSLAM对研究人员的潜在贡献。 VSLAM 设置标准 考虑到各种VSLAM方法论文将可用的不同设置和配置分为以下类别传感器和数据采集、目标环境、视觉特征处理、系统评估和语义类别下面逐一介绍。 1.传感器和数据采集 Davison等人[17]引入的VSLAM算法的早期阶段配备了用于轨迹恢复的单目摄像机。单目相机是最常见的视觉传感器用于各种任务如物体检测和跟踪[39]。另一方面立体相机包含两个或更多图像传感器使其能够感知图像中的深度从而在VSLAM应用中实现更准确的性能。相机设置具有成本效益并为更高的精度要求提供信息感知。RGB-D相机也是VSLAM中使用的视觉传感器其可以提供场景中的深度和颜色。上述视觉传感器可以提供丰富的环境信息例如适当的照明和运动速度但它们通常难以应对照明度低或场景动态范围高的情况。 近年来事件摄像机也被用于各种VSLAM应用中。当检测到运动时这些低延迟仿生视觉传感器产生像素级亮度变化而不是标准强度帧从而实现高动态范围输出而不会产生运动模糊影响[40]。与标准相机相比事件传感器在高速运动和大范围动态场景中可以提供可靠的视觉信息但在运动速度较低时无法提供足够的信息。另一方面事件相机主要输出关于环境的不同步信息。这使得传统的视觉算法无法处理这些传感器的输出[41]。此外使用事件的时空窗口以及从其他传感器获得的数据可以提供丰富的姿态估计和跟踪信息。 此外一些方法使用多目相机设置来解决在真实环境中工作的常见问题并提高定位精度。利用多目传感器有助于解决复杂问题例如遮挡、伪装、传感器故障或可跟踪纹理稀疏等为摄像机提供重叠视角。尽管多目相机可以解决一些数据采集问题但纯视觉的VSLAM可能会面临各种挑战例如遇到快速移动目标时的运动模糊、低照度或高照度下的特征不匹配、高速变化场景下的动态目标忽略等。因此一些VSLAM应用程序可能会在摄像机旁边配备多个传感器。融合事件和标准帧[42]或将其他传感器如激光雷达[43]和IMU集成到VSLAM是一些现有的解决方案。 2.目标环境 作为许多传统VSLAM实践中的一个有力假设机器人在静态世界中工作没有突然或意外的变化。因此尽管许多系统可以在特定环境中成功应用但环境中的一些意外变化例如移动目标的存在可能会导致系统复杂化并在很大程度上降低状态估计质量。在动态环境中工作的系统通常使用诸如光流或随机采样一致性RANSAC[44]之类的算法来检测场景中的移动将移动目标分类为异常值并在重建地图时跳过它们。这样的系统利用几何/语义信息或试图通过组合这两个结果来改进定位方案[45]。 此外作为一般分类法论文将环境分为室内和室外两类。室外环境可以是具有结构地标和大规模运动变化如建筑物和道路纹理的城市区域或具有弱运动状态如移动的云和植被、沙子纹理等的越野区域这增加了定位和回环检测失败的风险。另一方面室内环境包含具有完全不同的全局空间属性的场景例如走廊、墙和房间。论文认为虽然VSLAM系统可能在上述区域中的一个工作良好但在其他环境中可能表现不出相同的性能。 3.视觉特征处理 如前文所述检测视觉特征并利用特征描述子信息进行姿态估计是间接VSLAM方法的一个必要阶段。这些方法使用各种特征提取算法来更好地理解环境并跟踪连续帧中的特征点。特征提取算法有很多包括SIFT[46]、SURF[47]、FAST[19]、BRIEF[48]、ORB[49]等。其中与SIFT和SURF[50]相比ORB特征具有快速提取和匹配而不大幅损失准确度的优点。 上述一些方法的问题是它们不能有效地适应各种复杂和不可预见的情况。因此许多研究人员使用CNN来提取图像特征包括VO、姿态估计和回环检测。根据方法的功能这些技术可以表示有监督或无监督的框架。 4.系统评估 虽然一些VSLAM方法特别是那些能够在动态和挑战性环境中工作的方法在真实世界中进行测试。但许多研究工作都使用了公开的数据集来证明其适用性。在这方面Bonarini等人[51]的RAWSEEDS数据集是一个著名的多传感器基准测试工具包含室内、室外和混合机器人轨迹与真值数据。它是用于机器人和SLAM目的的最古老的公开基准测试工具之一。McCormac等人[52]的Scenenet RGB-D是场景理解问题的另一个受欢迎的数据集例如语义分割和目标检测包含500万个大规模渲染的RGB-D图像。 最近在VSLAM和VO领域的许多工作已经在TUM RGB-D数据集上测试了它们的方法[53]。此外Nguyen等人[54]的NTU VIRAL是由配备3D激光雷达、相机、IMU和多个超宽带UWB的无人机收集的数据集。该数据集包含室内和室外实例旨在评估自动驾驶和空中操作性能。其他数据集如EuRoC MAV[55]、OpenLORIS Scene[56]、KITTI[57]、TartanAir[58]、ICL-NUIM[59]和基于事件相机的数据集[60]可以参考相关论文。 根据传感器设置、应用和目标环境上述数据集用于多种VSLAM方法。这些数据集主要包含摄像机的内外参以及GT。表I和图3分别显示了数据集的总结特征和每个数据集的一些实例。 5.语义等级 机器人需要语义信息才能理解周围的场景并做出更优决策。在许多最近的VSLAM工作中将语义级信息添加到基于几何的数据中优于纯几何的方法使其能够提供环境的概念知识[61]。在这方面预先训练的目标识别模块可以将语义信息添加到VSLAM模型[62]。最新的方法之一是在VSLAM应用中使用CNN。一般来说语义VSLAM方法包含以下四个主要组成部分[43] 跟踪模块它使用从连续视频帧中提取的二维特征点来估计相机姿态并构建三维地图点。相机姿态的计算和3D地图点的构建分别建立了定位和建图过程的基线 局部建图模块通过处理两个连续视频帧创建了一个新的3D地图点该点与BA模块一起用于改进相机姿态 回环模块通过将关键帧与提取的视觉特征进行比较并评估它们之间的相似性进一步调整相机姿态并优化构建的地图 非刚性上下文消隐 (Non-Rigid Context CullingNRCC)使用NRCC的主要目标是从视频帧中过滤时间目标以减少它们对定位和建图阶段的不利影响。其主要包含一个分割过程用于分离帧中的各种不稳定实例例如人。由于NRCC可以减少待处理的特征点的数量因此简化了计算部分并获得了更鲁棒的性能。 因此在VSLAM方法中利用语义信息可以改善姿态估计和地图重建的不确定性。然而当前的挑战是如何正确使用提取的语义信息而不影响计算成本。 基于主要目标的VSLAM方法目标一多传感器处理 这一类别涵盖了使用各种传感器以更好地了解环境的VSLAM方法的范围。虽然一些技术仅依赖摄像机作为所使用的视觉传感器但其他技术将各种传感器结合起来以提高算法的准确性。 1使用多相机 一个相机重建运动物体的3D轨迹可能很困难一些研究人员建议使用多相机。例如CoSLAM是Zou和Tan[63]推出的一个VSLAM系统它使用部署在不同平台上的单摄像机来重建鲁棒地图。CoSLAM结合了在动态环境中独立移动的多个摄像机并根据它们重叠的视场重建地图。该过程通过混合相机内和相机间姿态估计和建图使得在3D中重建动态点更容易。CoSLAM使用Kanade-Lucas-TomasiKLT算法跟踪视觉特征并在静态和动态环境中运行包括室内和室外其中相对位置和方向可能会随时间变化。这种方法的主要缺点是需要复杂的硬件来理解大量的摄像机输出并通过增加更多的摄像机来增加计算成本。 对于具有挑战性的野外场景Yang等人[64]开发了一种多摄像机协同全景视觉VSLAM方法。[64]赋予每个摄像机独立性以提高VSLAM系统在挑战场景下的性能例如遮挡和纹理稀疏。为了确定匹配范围他们从摄像机的重叠视场中提取ORB特征。此外[64]还使用了基于CNN的深度学习技术来识别回环检测的类似特征。在实验中作者使用了由全景相机和集成导航系统生成的数据集。相关工作还有MultiCol-SLAM[65]。 2使用多传感器 其他一些方法建议融合多传感器并使用基于视觉和惯性的传感器输出以获得更好的性能。在这方面Zhu等人[66]提出了一种称为CamVox的低成本间接激光雷达辅助VSLAM并证明了其可靠的性能和准确性。他们的方法使用ORB-SLAM 2.0将Livox激光雷达作为高级深度传感器提供的独特功能与RGB-D相机的输出相结合。作者使用IMU来同步和校正非重复扫描位置。CamVox贡献是提出了一种在不受控制的环境中运行的自主激光雷达-相机校准方法。在机器人平台上的实测表明CamVox在能够实时运行。 [67]提出了一种名为VIRAL视觉-惯性-测距-激光雷达SLAM的多模态系统该系统将相机、激光雷达、IMU和UWB耦合起来。并提出了一种基于激光雷达点云构建的局部地图的视觉特征地图匹配边缘化方案。使用BRIEF算法提取和跟踪视觉分量。该框架还包含用于所使用的传感器的同步方案和触发器。VIRAL在NTU VIRAL[54]数据集上测试了他们的方法该数据集包含相机、激光雷达、IMU和UWB传感器捕获的数据。然而由于处理同步、多线程和传感器冲突解决他们的方法计算量很大。其他相关算法Ultimate SLAM[68]、[69]可以参考相关论文。 目标二姿态估计 这类方法的重点是如何使用各种算法改进VSLAM方法的姿态估计。 1使用线/点数据 在这方面Zhou等人[70]建议使用建筑结构线段作为有用的特征来确定相机姿态。结构线与主导方向相关联并编码全局方向信息从而改善预测轨迹。方法名为StructSLAM是一种6自由度DoFVSLAM技术可在低特征和无特征条件下运行。 Point and Line SLAMPL-SLAM是一种基于ORB-SLAM的VSLAM系统针对非动态低纹理场景进行了优化由Pumarola等人提出[71]。该系统同时融合线和点特征以改进姿态估计并帮助在特征点较少的情况下运行。作者在生成的数据集和TUM RGB-D上测试了PL-SLAM。其方法的缺点是计算成本和必须使用其他几何图元例如平面以获得更稳健的精度。 Gomez-Ojeda等人[72]介绍了PL-SLAM不同于Pumarola等人[71]中同名的框架这是一种间接VSLAM技术使用立体视觉相机中的点和线来重建看不见的地图。他们将从所有VSLAM模块中的点和线获得的片段与从其方法中的连续帧获取的视觉信息合并。使用ORB和线段检测器LSD算法在PL-SLAM中的后续立体帧中检索和跟踪点和线段。作者在EuRoC和KITTI数据集上测试了PL-SLAM在性能方面可能优于ORB-SLAM 2.0的立体版本。PL-SLAM的主要缺点之一是特征跟踪模块所需的计算时间以及考虑所有结构线以提取关于环境的信息。其他相关算法[73]可以参考论文。 2使用额外特征 [74]中提出了Dual Quaternion Visual SLAMDQV-SLAM一种用于立体视觉相机的框架该框架使用广泛的贝叶斯框架进行6-DoF姿态估计。为了防止非线性空间变换组的线性化他们的方法使用渐进贝叶斯更新。对于地图的点云和光流DQV-SLAM使用ORB功能在动态环境中实现可靠的数据关联。在KITTI和EuRoC数据集上该方法可以可靠地得到预测结果。然而它缺乏姿态随机建模的概率解释并且对基于采样近似的滤波的计算要求很高。其他相关算法SPM-SLAM[75]可以参考论文。 3深度学习 Bruno和Colombini[76]提出了LIFT-SLAM它将基于深度学习的特征描述子与传统的基于几何的系统相结合。并扩展了ORB-SLAM系统的流水线使用CNN从图像中提取特征基于学习得到的特征提供更密集和精确的匹配。为了检测、描述和方向估计LIFT-SLAM微调学习不变特征变换LIFT深度神经网络。使用KITTI和EuRoC MAV数据集的室内和室外实例进行的研究表明LIFT-SLAM在精度方面优于传统的基于特征和基于深度学习的VSLAM系统。然而该方法的缺点是其计算密集的流水线和未优化的CNN设计。 Naveed等人[77]提出了一种基于深度学习的VSLAM解决方案该解决方案具有可靠且一致的模块即使在极端转弯的路线上也是如此。他们的方法优于几种VSLAM并使用了在真实模拟器上训练的深度强化学习网络。此外它们还为主动VSLAM评估提供了基线并可在实际室内和室外环境中适当推广。网络的路径规划器开发了理想的路径数据由其基础系统ORB-SLAM接收。[77]制作了一个数据集包含了挑战性和无纹理环境中的实际导航事件以供评估。其他方法RWT-SLAM[78]可参考相关论文。 目标三现实世界可行性 这类方法的主要目标是在各种环境中使用并在多种场景下工作。论文注意到本节中的引用与从环境中提取的语义信息高度集成并展示了端到端的VSLAM应用。 1动态环境 在这方面Yu等人[61]引入了一个名为DS-SLAM的VSLAM系统该系统可用于动态上下文并为地图构建提供语义级信息。该系统基于ORB-SLAM 2.0包含五个线程跟踪、语义分割、局部建图、回环和密集语义图构建。为了在姿态估计过程之前排除动态目标并提高定位精度DS-SLAM使用了实时语义分割网络SegNet的光流算法[80]。DS-SLAM已经在现实世界环境中、RGB-D相机以及TUM RGB-D数据集上进行了测试。然而尽管它的定位精度很高但它仍面临语义分割限制和计算密集型特征的问题。 Semantic Optical Flow SLAMSOF-SLAM是基于ORB-SLAM 2.0的RGB-D模式构建的间接VSLAM系统[45]。他们的方法使用语义光流动态特征检测模块该模块提取并跳过ORB特征提取提供的语义和几何信息中隐藏的变化特征。为了提供准确的相机姿态和环境信息SOF-SLAM使用了SegNet的像素级语义分割模块。在极端动态的情况下TUM RGB-D数据集和现实环境中的实验结果表明SOF-SLAM的性能优于ORB-SLAM 2.0。然而非静态特征识别的无效方法和仅依赖于两个连续帧是SOF-SLAM的缺点。其他相关算法[81]、[82]可以参考相关论文。 2基于深度学习的解决方案 在Li等人[83]的另一个名为DXSLAM的工作中深度学习用于找到类似于SuperPoints的关键点并生成通用描述子和图像的关键点。他们训练先进的CNN HF-NET通过从每个帧中提取局部和全局信息生成基于帧和关键点的描述子。此外还使用离线Bag of WordsBoW方法训练局部特征的视觉词汇表以实现精确的回环识别。DXSLAM在不使用GPU的情况下实时运行并且与当代CPU兼容。即使这些品质没有得到特别的处理它也有很强的抵抗动态环境中动态变化的能力。DXSLAM已经在TUM RGB-D和OpenLORIS场景数据集以及室内和室外图像上进行了测试可以获得比ORB-SLAM 2.0和DS-SLAM更准确的结果。然而这种方法的主要缺点是复杂的特征提取架构和将深层特征合并到旧的SLAM框架中。 在另一种方法中Li等人[84]开发了一种实时VSLAM技术用于在复杂情况下基于深度学习提取特征点。该方法可以在GPU上运行支持创建3D密集地图是一个具有自监督功能的多任务特征提取CNN。CNN输出是固定长度为256的二进制代码串这使得它可以被更传统的特征点检测器如ORB所取代。系统包括三个线程用于在动态场景中实现可靠和及时的性能跟踪、局部建图和回环。支持使用ORB-SLAM 2.0作为基线的单目和RGB-D相机的系统。其他相关算法[85]可以参考相关论文。 3使用人工地标 Medina Carnicer等人提出的一种称为UcoSLAM[86]的技术通过结合自然和人造地标并使用基准标记自动计算周围环境的比例从而优于传统的VSLAM系统。UcoSLAM的主要驱动力是对抗自然地标的不稳定性、重复性和较差的跟踪质量。它可以在没有标签或特征的环境中运行因为它只能在关键点、地标和混合模式下运行。为了定位地图对应关系优化重投影误差并在跟踪失败时重新定位UcoSLAM具有跟踪模式。此外它有一个基于地标的回环检测系统可以使用任何描述子描述特征包括ORB和FAST。尽管UcoSLAM有很多优点但系统在多线程中执行这使得它成为一种耗时的方法。 4广泛的设置 用于动态室内和室外环境的另一种VSLAM策略是DMS-SLAM[87]它支持单目、立体和RGB-D视觉传感器。该系统采用滑动窗口和基于网格的运动统计GMS[88]特征匹配方法来找到静态特征位置。DMS-SLAM以ORB-SLAM 2.0系统为基础跟踪ORB算法识别的静态特征。作者在TUM RGB-D和KITTI数据集上测试了他们建议的方法并优于先进的的VSLAM算法。此外由于在跟踪步骤中删除了动态目标上的特征点DMS-SLAM比原始的ORB-SLAM 2.0执行得更快。尽管有上述优点但DMS-SLAM在纹理少、运动快和高度动态环境的情况下会遇到困难。 目标四资源限制 在另一类中与其他标准设备相比一些VSLAM方法是为计算资源有限的设备构建的。例如为移动设备和具有嵌入式系统的机器人设计的VSLAM系统就属于这一类别。 1处理能力有限的设备 在这方面edgeSLAM是Xu等人提出的用于移动和资源受限设备的实时、边缘辅助语义VSLAM系统[89]。它采用了一系列细粒度模块由边缘服务器和相关移动设备使用而不需要多线程。edgeSLAM中还包括基于Mask-RCNN技术的语义分割模块以改进分割和目标跟踪。作者在一个边缘服务器上安装了一些商用移动设备如手机和开发板。通过重用目标分割的结果他们通过使系统参数适应不同的网络带宽和延迟情况来避免重复处理。EdgeSLAM已在TUM RGB-D、KITTI的单目视觉实例和为实验设置创建的数据集上进行了评估。 对于立体相机设置Grisetti等人[90]提出了一种轻量级的基于特征的VSLAM框架名为ProSLAM其结果与先进技术不相上下。四个模块组成了他们的方法triangulation模块它创建3D点和相关的特征描述子增量运动估计模块其处理两个帧以确定当前位置创建局部地图的地图管理模块以及基于局部地图的相似性更新世界地图的重新定位模块。ProSLAM使用单个线程检索点的3D位置并利用少量已知库来创建简单的系统。根据KITTI和EuRoC数据集的实验他们的方法可以获得稳健的结果。然而它在旋转估计方面表现出不足并且不包含任何光束法平差模块。其他相关算法VPS-SLAM[91]、[94]可以参考相关论文。 2计算迁移 Ben Ali等人[96]建议使用边缘计算将资源密集型操作迁移到云上并减少机器人的计算负担。他们在其间接框架Edge-SLAM中修改了ORB-SLAM 2.0的架构在机器人上维护了跟踪模块并将剩余部分委派给边缘。通过在机器人和边缘设备之间拆分VSLAM流水线系统可以维护局部和全局地图。在可用资源较少的情况下它们仍然可以在不牺牲准确性的情况下正确运行。[96]使用TUM RGB-D数据集和两个不同的移动设备基于RGB-D相机生成定制的室内环境数据集进行评估。然而该方法的缺点之一是由于各种SLAM模块的解耦而导致架构的复杂性。另一个问题是系统仅在短期设置下工作在长期场景例如多天中使用Edge SLAM将面临性能下降。 目标五弹性化Versatility VSLAM在这一类中的工作侧重于直接的开发、利用、适应和扩展。 在这方面Sumikura等人[95]引入了OpenVSLAM这是一个高度适应性的开源VSLAM框架旨在快速开发并被其他第三方程序调用。他们基于特征的方法与多种相机类型兼容包括单目、立体和RGB-D并且可以存储或重用重建的地图以供以后使用。由于其强大的ORB特征提取模块OpenVSLAM在跟踪精度和效率方面优于ORB-SLAM和ORB-SLAM2.0。然而由于担心代码相似性侵犯了ORB-SLAM 2.0的权利该系统的开源代码已经停止。 为了弥合实时能力、准确性和弹性之间的差距Ferrera等人[97]开发了OV2SLAM可用于单目和立体视觉相机。通过将特征提取限制在关键帧中并通过消除测光误差在后续帧中对其进行监控他们的方法减少了计算量。从这个意义上讲OV2SLAM是一种混合策略它结合了VSLAM直接和间接方法的优点。在室内和室外实验中使用包括EuRoC、KITTI和TartanAir在内的著名基准数据集证明OV2SLAM在性能和准确性方面优于几种流行技术。其他相关算法DROID-SLAM[98]、iRotate[99]可以参考相关论文。 目标六视觉里程计Visual Odometry 此类方法旨在以尽可能高的精度确定机器人的位置和方向。 1深度神经网络 在这方面[100]中提出了Dynamic-SLAM框架该框架利用深度学习进行准确的姿态预测和适当的环境理解。作为优化VO的语义级模块的一部分作者使用CNN来识别环境中的运动目标这有助于他们降低由不正确的特征匹配带来的姿态估计误差。此外Dynamic-SLAM使用选择性跟踪模块来忽略场景中的动态位置并使用缺失特征校正算法来实现相邻帧中的速度不变性。尽管结果很好但由于定义的语义类数量有限该系统需要巨大的计算成本并面临动态/静态目标误分类的风险。 Bloesch等人[101]提出了Code-SLAM它提供了场景几何体的浓缩和密集表示。他们的VSLAM系统是PTAM的增强版[14]该系统仅与单目摄像机一起工作。其将强度图像划分为卷积特征并使用根据SceneNet RGB-D数据集的强度图像训练的CNN将其馈送到深度自编码器。EuRoC数据集的实验结果表明其结果在准确性和性能方面很有希望。其他相关算法DeepVO[102]、[103]、DeepFactors[104]可以参考相关论文。 2深度相邻帧处理 在另一项工作中[106]的作者通过减少用于摄像机运动检测的两幅图像之间的光度和几何误差为RGB-D摄像机开发了一种实时密集SLAM方法改进了他们先前的方法[107]。他们基于关键帧的解决方案扩展了Pose SLAM[108]它只保留非冗余姿态以生成紧凑的地图增加了密集的视觉里程计特征并有效地利用来自相机帧的信息进行可靠的相机运动估计。作者还采用了一种基于熵的技术来度量关键帧的相似性用于回环检测和漂移避免。然而他们的方法仍然需要在回环检测和关键帧选择质量方面进行工作。 在Li等人[109]介绍的另一项工作中使用称为DP-SLAM的基于特征的VSLAM方法实现实时动态目标移除。该方法使用基于从运动目标导出的关键点的似然性的贝叶斯概率传播模型。使用移动概率传播算法和迭代概率更新DP-SLAM可以克服几何约束和语义数据的变化。它与ORB-SLAM 2.0集成并在TUM RGB-D数据集上进行了测试。尽管结果准确但由于迭代概率更新模块该系统仅在稀疏VSLAM中工作并且面临较高的计算成本。其他相关算法[110]可以参考相关论文。 3各种特征处理 此类别中的另一种方法是Li等人[111]提出的基于文本的VSLAM系统称为TextSLAM。它将使用FAST角点检测技术从场景中检索的文本项合并到SLAM管道中。文本包括各种纹理、图案和语义这使得使用它们创建高质量3D文本地图的方法更加有效。TextSLAM使用文本作为可靠的视觉基准标记在找到文本的第一帧之后对其进行参数化然后将3D文本目标投影到目标图像上以再次定位。他们还提出了一种新的三变量参数化技术用于初始化瞬时文本特征。使用单目相机和作者创建的数据集在室内和室外环境中进行了实验结果非常准确。在无文本环境中操作、解释短字母以及需要存储大量文本词典是TextSLAM的三大基本挑战。其他相关算法[43]、[112]可以参考相关论文。 确定当前趋势统计数字  关于上述各方面调查论文的分类论文将图4中的处理数据可视化以找出VSLAM的当前趋势。在子图“a”中可以看到大多数拟议的VSLAM系统都是独立的应用程序它们使用视觉传感器从头开始执行定位和建图的整个过程。虽然ORB-SLAM2.0和ORB-SLAM是用于构建新框架的其他基础平台但只有很少的方法基于其他VSLAM系统如PTAM和PoseSLAM。此外就VSLAM应用程序的目标而言子图“b”中最重要的是改进视觉里程计模块。因此大多数最近的VSLAM都试图解决当前算法在确定机器人位置和方向方面的问题。姿态估计和真实世界生存能力是提出新的VSLAM论文的进一步基本目标。关于调查论文中用于评估的数据集子图“c”说明了大多数工作都在TUM RGB-D数据集上进行了测试。此外许多研究人员倾向于对他们生成的数据集进行实验。我们可以假设生成数据集的主要动机是展示VSLAM方法在真实场景中的工作方式以及它是否可以作为端到端应用程序使用。EuRoC MAV和KITTI分别是VSLAM工作中下一个流行的评估数据集。从子图“d”中提取的另一个有趣信息涉及使用VSLAM系统时使用语义数据的影响。我们可以看到大多数论文在处理环境时不包括语义数据。论文假设不使用语义数据的原因是 在许多情况下训练识别目标并将其用于语义分割的模型的计算成本相当大这可能会增加处理时间 大多数基于几何的VSLAM算法被设计在即插即用的设备上工作因此它们可以用最少的努力使用相机数据进行定位和建图         从场景中提取的不正确信息也会导致过程中增加更多的噪声。 当考虑环境时我们可以在子图“e”中看到一半以上的方法也可以在具有挑战性的动态环境中工作而其余的系统只关注没有动态变化的环境。此外在子图“f”中大多数方法都适用于“室内环境”或“室内和室外环境”而其余的论文仅在室外条件下进行了测试。应当指出的是如果在其他情况下采用的方法只能在具有限制性假设的特定情况下工作则可能不会产生相同的准确性。这是一些方法只集中于特定情况的主要原因之一。 分析当前趋势 本文回顾了最先进的视觉SLAM方法这些方法吸引了大量关注并展示了它们在该领域的主要贡献。尽管在过去几年中VSLAM系统的各个模块都有了广泛的可靠解决方案和改进但仍有许多高潜力领域和未解决的问题需要在这些领域进行研究从而在SLAM的未来发展中采用更稳健的方法。鉴于视觉SLAM方法的广泛性论文介绍以下开放的研究方向 深度学习深度神经网络在各种应用中显示出令人鼓舞的结果包括VSLAM[15]使其成为多个研究领域的一个重要趋势。由于其学习能力这些体系结构已显示出相当大的潜力可以用作可靠的特征提取器以解决VO和回环检测中的不同问题。CNN可以帮助VSLAM进行精确的目标检测和语义分割并且在正确识别人工设计的特征方面可以优于传统的特征提取和匹配算法。必须指出的是由于基于深度学习的方法是在具有大量多样数据和有限目标类的数据集上进行训练的因此总是存在对动态点进行错误分类并导致错误分割的风险。因此它可能导致较低的分割精度和姿态估计误差。 信息检索和计算成本权衡通常情况下处理成本和场景中的信息量应始终保持平衡。从这个角度来看密集地图允许VSLAM应用程序记录高维完整场景信息但实时这样做将需要计算量。另一方面稀疏表示由于其较低的计算成本将无法捕获所有需要的信息。还应注意的是实时性能与摄像机的帧速率直接相关峰值处理时间的帧丢失会对VSLAM系统的性能产生负面影响而与算法性能无关。此外VSLAM通常利用紧耦合的模块修改一个模块可能会对其他模块产生不利影响这使得平衡任务更具挑战性。 语义分割在创建环境地图的同时提供语义信息可以为机器人带来非常有用的信息。识别摄像机视场中的目标例如门、窗、人等是当前和未来VSLAM工作中的一个热门话题因为语义信息可用于姿态估计、轨迹规划和回环检测模块。随着目标检测和跟踪算法的广泛使用语义VSLAM无疑将成为该领域未来的解决方案之一。回环算法任何SLAM系统中的关键问题之一是漂移问题以及由于累积的定位误差而导致的特征轨迹丢失。在VSLAM系统中检测漂移和回环以识别先前访问过的位置会导致计算延迟和高成本[89]。主要原因是回环检测的复杂度随着重建地图的大小而增加。此外组合从不同地点收集的地图数据并细化估计姿态是非常复杂的任务。因此回环检测模块的优化和平衡具有巨大的改进空间。检测回环的常见方法之一是通过基于局部特征训练视觉词汇表然后将其聚合来改进图像检索。 在具有挑战性的场景中工作在没有纹理的环境中工作很少有显著特征点这通常会导致机器人的位置和方向出现漂移误差。作为VSLAM的主要挑战之一此错误可能导致系统故障。因此在基于特征的方法中考虑互补的场景理解方法例如目标检测或线条特征将是一个热门话题。 结论 本文介绍了一系列SLAM算法其中从摄像机采集的视觉数据起着重要作用。论文根据VSLAM系统方法的各种特点如实验环境、新颖领域、目标检测和跟踪算法、语义级生存能力、性能等对其最近的工作进行了分类。论文还根据作者的主张、未来版本的改进以及其他相关方法中解决的问题回顾了相关算法的关键贡献以及现有的缺陷和挑战。本文的另一个贡献是讨论了VSLAM系统的当前趋势以及研究人员将更多研究的现有开放问题。 #SLAM2 关于这个也到第2了 SLAM也称为CML, 即时定位与地图构建或并发建图与定位。本文从SLAM的概念出发对SLAM技术所用到的传感器做出详细介绍接着对实现SLAM算法所涉及的4个要素进行讲解最后介绍SLAM技术当前应用最广泛的四个领域。 什么是SLAM  SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建或并发建图与定位。 问题可以描述为将一个机器人放入未知环境中的未知位置是否有办法让机器人一边逐步描绘出此环境完全的地图同时一边决定机器人应该往哪个方向行进。 例如扫地机器人就是一个很典型的SLAM问题所谓完全的地图a consistent map是指不受障碍行进到房间可进入的每个角落。 SLAM最早由Smith、Self和Cheeseman于1988年提出。 由于其重要的理论与应用价值被很多学者认为是实现真正全自主移动机器人的关键。 当你来到一个陌生的环境时为了迅速熟悉环境并完成自己的任务比如找饭馆找旅馆你应当做以下事情 a.用眼睛观察周围地标如建筑、大树、花坛等并记住他们的特征特征提取 b.在自己的脑海中根据双目获得的信息把特征地标在三维地图中重建出来三维重建 c.当自己在行走时不断获取新的特征地标并且校正自己头脑中的地图模型bundle adjustment or EKF d.根据自己前一段时间行走获得的特征地标确定自己的位置trajectory e.当无意中走了很长一段路的时候和脑海中的以往地标进行匹配看一看是否走回了原路loop-closure detection。实际这一步可有可无。 以上五步是同时进行的因此是simultaneous localization and mapping。 两类重要传感器   目前用在SLAM上的Sensor主要分两大类激光雷达和摄像头。 这里面列举了一些常见的雷达和各种深度摄像头。激光雷达有单线多线之分角分辨率及精度也各有千秋。 SICK、velodyne、Hokuyo以及国内的北醒光学、Slamtech是比较有名的激光雷达厂商。他们可以作为SLAM的一种输入形式。 这里展示的就是一种简单的2D SLAM。 这个小视频是宾大的教授kumar做的特别有名的一个demo是在无人机上利用二维激光雷达做的SLAM。  而VSLAM则主要用摄像头来实现摄像头品种繁多主要分为单目、双目、单目结构光、双目结构光、ToF几大类。 他们的核心都是获取RGB和depth map(深度信息)。 简单的单目和双目Zed、leapmotion我这里不多做解释我主要解释一下结构光和ToF。 结构光和TOF   结构光 结构光原理的深度摄像机通常具有激光投射器、光学衍射元件DOE、红外摄像头三大核心器件。 这个图下图摘自primesense的专利。 可以看到primesense的doe是由两部分组成的一个是扩散片一个是衍射片。 先通过扩散成一个区域的随机散斑然后复制成九份投射到了被摄物体上。根据红外摄像头捕捉到的红外散斑PS1080这个芯片就可以快速解算出各个点的深度信息。 这儿还有两款结构光原理的摄像头。 第一幅图它是由两幅十分规律的散斑组成最后同时被红外相机获得精度相对较高。但据说DOE成本也比较高。 还有一种比较独特的方案最后一幅图它采用mems微镜的方式类似DLP投影仪将激光器进行调频通过微镜反射出去并快速改变微镜姿态进行行列扫描实现结构光的投射。产自STST经常做出一些比较炫的黑科技。 TOF ToFtime of flight也是一种很有前景的深度获取方法。 传感器发出经调制的近红外光遇物体后反射传感器通过计算光线发射和反射时间差或相位差来换算被拍摄景物的距离以产生深度信息。 类似于雷达或者想象一下蝙蝠softkinetic的DS325采用的就是ToF方案TI设计的。 但是它的接收器微观结构比较特殊有2个或者更多快门测ps级别的时间差但它的单位像素尺寸通常在100um的尺寸所以目前分辨率不高。 在有了深度图之后呢SLAM算法就开始工作了由于Sensor和需求的不同SLAM的呈现形式略有差异。 大致可以分为激光SLAM也分2D和3D和视觉SLAM也分Sparse、semiDense、Dense两类但其主要思路大同小异。 这个是Sparse稀疏的  这个偏Dense密集的  SLAM算法实现的4要素   SLAM算法在实现的时候主要要考虑以下4个方面 地图表示问题比如dense和sparse都是它的不同表达方式这个需要根据实际场景需求去抉择 信息感知问题需要考虑如何全面的感知这个环境RGBD摄像头FOV通常比较小但激光雷达比较大 数据关联问题不同的sensor的数据类型、时间戳、坐标系表达方式各有不同需要统一处理 定位与构图问题就是指怎么实现位姿估计和建模这里面涉及到很多数学问题物理模型建立状态估计和优化 其他的还有回环检测问题探索问题exploration以及绑架问题kidnapping。 640-3 这个是一个比较有名的SLAM算法这个回环检测就很漂亮。但这个调用了cudagpu对运算能力要求挺高效果看起来比较炫。 以VSLAM举个例子。 我大概讲一种比较流行的VSLAM方法框架。整个SLAM大概可以分为前端和后端。 前端相当于VO视觉里程计研究帧与帧之间变换关系。 首先提取每帧图像特征点利用相邻帧图像进行特征点匹配然后利用RANSAC去除大噪声然后进行匹配得到一个pose信息位置和姿态同时可以利用IMUInertial measurement unit惯性测量单元提供的姿态信息进行滤波融合后端则主要是对前端出结果进行优化利用滤波理论EKF、UKF、PF、或者优化理论TORO、G2O进行树或者图的优化。最终得到最优的位姿估计。 后端这边难点比较多涉及到的数学知识也比较多总的来说大家已经慢慢抛弃传统的滤波理论走向图优化去了。 因为基于滤波的理论滤波器稳度增长太快这对于需要频繁求逆的EKF扩展卡尔曼滤波器PF压力很大。 而基于图的SLAM通常以keyframe关键帧为基础建立多个节点和节点之间的相对变换关系比如仿射变换矩阵并不断地进行关键节点的维护保证图的容量在保证精度的同时降低了计算量。 列举几个目前比较有名的SLAM算法PTAM,MonoSLAM, ORB-SLAM,RGBD-SLAM,RTAB-SLAM,LSD-SLAM。 所以大家如果想学习SLAM的话各个高校提高的素材是很多的比如宾大、MIT、ETH、香港科技大学、帝国理工等等都有比较好的代表作品还有一个比较有前景的就是三维的机器视觉普林斯顿大学的肖剑雄教授结合SLAM和Deep Learning做一些三维物体的分类和识别实现一个对场景深度理解的机器人感知引擎。 ​​http://robots.princeton.edu/talks/2016_MIT/RobotPerception.pdf​​ Multi-scale detection   SLAM技术从最早的军事用途核潜艇海底定位就有了SLAM的雏形到今天已经逐步走入人们的视野扫地机器人的盛行更是让它名声大噪。 同时基于三维视觉的VSLAM越来越显主流。在地面/空中机器人、VR/AR/MR、汽车/AGV自动驾驶等领域都会得到深入的发展同时也会出现越来越多的细分市场等待挖掘。 室内机器人 扫地机要算机器人里最早用到SLAM技术这一批了。 国内的科沃斯、塔米扫地机通过用SLAM算法结合激光雷达或者摄像头的方法让扫地机可以高效绘制室内地图智能分析和规划扫地环境从而成功让自己步入了智能导航的阵列。 不过有意思的是科沃斯引领时尚还没多久一大帮懂Slam算法的扫地机厂商就开始陆陆续续地推出自己的智能导航直到昨天雷锋网还看到一款智能扫地机新鲜出炉而这追逐背后的核心大家都知道就是SLAM技术的应用。 而另一个跟SLAM息息相关的室内移动机器人因为目前市场定位和需求并不明确我们目前只能在商场导购室内机器人和Buddy那样的demo视频里才能看到国内Watchhhh Slam和Slam Tech两家公司都是做这方面方案提供的以现实的观点看现在室内移动机器人市场定位和需求没落地的时候由方案商公司推动商用室内移动机器人先行这反而是一种曲线救国的发展方式。 AR 目前基于SLAM技术开发的代表性产品有微软的Hololens谷歌的Project Tango以及同样有名的Magic Leap后者4月20号公布它的新一代水母版demo后国内的AR公司更加看到了这个趋势。 比如进化动力近期就公布了他们的SLAM demo, 用一个小摄像头实现VR头显空间定位而易瞳去年10月雷锋网去试用新品的时候就发现已经整合SLAM技术了国内其他公司虽然没有正式公布但我们可以肯定他们都在暗暗研发这项技术只等一个成熟的时机就会展现给大家。 进化动力CTO聂崇岭向雷锋网表示如果用一个准确的说法。很多VR应用需要用到SLAM技术定位只是一个feature路径记录、3D重构、地图构建都可以是SLAM技术的输出。 无人机  国外的话原来做 Google X Project Wing 无人机的创始人 MIT 机器人大牛 Nicholas Roy 的学生 Adam Bry 创办的 Skydio挖来了 Georgia Tech 的 Slam 大牛教授 Frank Dellaert 做他们的首席科学家。 国内大家非常熟悉的大疆精灵四避障用的双目视觉超声波一位大疆工程师徐枭涵在百度百家的撰文里坦率承认“P4里面呈现的主动避障功能就是一种非常非常典型的Slam的弱应用无人机只需要知道障碍物在哪就可以进行 Planning并且绕开障碍物。 当然Slam能做的事情远远不止这些包括灾区救援包括探洞包括人机配合甚至集群所有的关于无人机的梦想都建立在Slam之上这是无人机能飞具有定位姿态确定以后的时代以后无人机最核心的技术。” 而近期另一个号称刷爆美国朋友圈的hover camera无人机因为其创始人的的计算机视觉背景正式把SLAM技术应用进来了在介绍他们无人机的主要产品技术时提到了SLAM即时定位与地图构建通过感知自身周围环境来构建3D增量式地图从而实现自主定位和导航。 无人驾驶 因为Google无人驾驶车的科普很多人都知道了基于激光雷达技术的Lidar Slam。 Lidar Slam是指利用激光雷达作为外部传感器获取地图数据使机器人实现同步定位与地图构建。虽然成本高昂但目前为止是最稳定、最可靠、高性能的SLAM方式。 另外2011 年牛津大学Mobile Robotics Group 首次向公众展示他们的第一辆无人驾驶汽车野猫Wildcat这是一辆由 Bowler Wildcat 4X4 改装而成的车。汽车头顶的相机和激光能够搜集信息然后即时分析导航已经成功通过了测试。 2014 年他们改装的一辆 Nissan 的 Leaf 也成功路测。 Mobile Robotics Group主要研究领域是大规模的导航和对自然场景理解。 据称团队所拥有的技术非常牛逼其复杂和先进性远远超过一般的同步定位与地图构建SLAM算法。 可圈可点的是对于无人驾驶技术他们并没有使用 GPS 或者是嵌入式的基础设施信标之类的而是使用算法来导航包括机器学习和概率推理来建立周围的地图等。 #SLAM3 到第3集了这次是密集单目 SLAM 的概率体积融合 我们提出了一种利用深度密集单目 SLAM 和快速不确定性传播从图像重建 3D 场景的新方法。所提出的方法能够密集、准确、实时地 3D 重建场景同时对来自密集单目 SLAM 的极其嘈杂的深度估计具有鲁棒性。不同于以前的方法要么使用临时深度过滤器要么从 RGB-D 相机的传感器模型估计深度不确定性我们的概率深度不确定性直接来自SLAM中底层BA问题的信息矩阵。我们表明由此产生的深度不确定性为体积融合的深度图加权提供了极好的信号。如果没有我们的深度不确定性生成的网格就会很嘈杂并且带有伪影而我们的方法会生成一个精确的 3D 网格并且伪影要少得多。我们提供了具有挑战性的 Euroc 数据集的结果并表明我们的方法比直接融合单目 SLAM 的深度提高了 92% 的准确性与最佳竞争方法相比提高了 90% 单目图像的 3D 重建仍然是最困难的计算机视觉问题之一。仅从图像实时实现 3D 重建就可以实现机器人、测量和游戏中的许多应用例如自动驾驶汽车、作物监测和增强现实。 虽然许多 3D 重建解决方案基于 RGB-D 或激光雷达传感器但单目图像的场景重建提供了更方便的解决方案。RGB-D 相机在某些条件下可能会失效例如在阳光下激光雷达仍然比单目 RGB 相机更重、更昂贵。或者立体相机将深度估计问题简化为一维视差搜索但依赖于在实际操作中容易出现错误校准的相机的精确校准。 相反单目相机便宜、重量轻代表了最简单的传感器配置来校准。不幸的是由于缺乏对场景几何形状的明确测量单目 3D 重建是一个具有挑战性的问题。尽管如此最近通过利用深度学习方法在基于单眼的 3D 重建方面取得了很大进展。鉴于深度学习目前在光流 [23] 和深度 [29] 估计方面取得了最佳性能因此大量工作已尝试将深度学习模块用于 SLAM。例如使用来自单目图像 [22]、多幅图像的深度估计网络如多视图立体 [10]或使用端到端神经网络 [3]。然而即使有了深度学习带来的改进由此产生的重建也容易出现错误和伪影因为深度图大部分时间都是嘈杂的并且有异常值。 在这项工作中我们展示了如何从使用密集单目 SLAM 时估计的嘈杂深度图中大幅减少 3D 重建中的伪影和不准确性。为实现这一点我们通过根据概率估计的不确定性对每个深度测量值进行加权来体积融合深度图。与以前的方法不同我们表明在单目 SLAM 中使用从BA问题的信息矩阵导出的深度不确定性导致令人惊讶的准确 3D 网格重建。我们的方法在映射精度方面实现了高达 90% 的改进同时保留了大部分场景几何。 贡献我们展示了一种体积融合密集深度图的方法该深度图由密集 SLAM 中的信息矩阵导出的不确定性加权。我们的方法使场景重建达到给定的最大可容忍不确定性水平。与竞争方法相比我们可以以更高的精度重建场景同时实时运行并且仅使用单目图像。我们在具有挑战性的 EuRoC 数据集中实现了最先进的 3D 重建性能。 图 1.左原始 3D 点云通过反向投影逆深度图从密集单眼 SLAM 生成没有过滤或后处理。右深度图的不确定性感知体积融合后估计的 3D 网格。尽管深度图中有大量噪声但使用我们提出的方法重建的 3D 网格是准确和完整的。EuRoC V2 01 数据集。 密集 SLAM 和深度融合 Dense SLAM  实现Dense SLAM 的主要挑战是i由于要估计的深度变量的剪切量导致的计算复杂性以及ii处理模糊或缺失的信息以估计场景的深度例如无纹理表面或混叠图像。 从历史上看第一个问题已通过解耦姿态和深度估计而被绕过。例如DTAM [12] 通过使用与稀疏 PTAM [9] 相同的范例来实现Dense SLAM它以解耦的方式首先跟踪相机姿势然后跟踪深度。第二个问题通常也可以通过使用提供明确深度测量的 RGB-D 或激光雷达传感器或简化深度估计的立体相机来避免。 尽管如此最近对Dense SLAM 的研究在这两个方面取得了令人瞩目的成果。为了减少深度变量的数量CodeSLAM [3] 优化了从图像推断深度图的自动编码器的潜在变量。通过优化这些潜在变量问题的维数显着降低而生成的深度图仍然很密集。Tandem [10] 能够通过在单眼深度估计上使用预训练的 MVSNet 式神经网络然后通过执行帧到模型的光度跟踪来解耦姿态/深度问题从而仅使用单眼图像重建 3D 场景。Droid-SLAM [24] 表明通过采用最先进的密集光流估计架构 [23] 来解决视觉里程计问题有可能在各种情况下取得有竞争力的结果具有挑战性的数据集例如 Euroc [4] 和 TartanAir [25] 数据集即使它需要全局束调整以优于基于模型的方法。Droid-SLAM 通过使用下采样深度图避免了维度问题随后使用学习的上采样运算符对深度图进行上采样。最后有无数的作品避免了上述的维度和歧义问题但最近已经取得了改进的性能。例如iMap [21] 和 Nice-SLAM [31] 可以通过解耦姿态和深度估计以及使用 RGB-D 图像来构建精确的 3D 重建并通过使用神经辐射场 [11] 实现光度精确重建.鉴于这些工作我们可以期待未来学习的Dense SLAM 变得更加准确和稳健。 不幸的是我们还不能从随意的图像集合中获得像素完美的深度图将这些深度图直接融合到体积表示中通常会导致伪影和不准确。我们的工作利用 Droid-SLAM [24] 来估计每个关键帧的极其密集但非常嘈杂的深度图参见图 1 中的左侧点云我们通过根据深度的不确定性对深度进行加权成功地将其融合到体积表示中估计为边际协方差。 深度融合 绝大多数 3D 重建算法都基于将深度传感器提供的深度图融合到体积图 [13、15、17] 中。因此大多数使用体积表示的文献都专注于研究获得更好深度图的方法例如后处理技术或融合深度时要使用的加权函数 [5、13、14、28]。大多数文献通过假设深度图来自传感器专注于传感器建模。或者在使用深度学习时类似的方法是让神经网络学习权重。例如RoutedFusion [26] 和 NeuralFusion [27] 学习从 RGB-D 扫描中去噪体积重建。 在我们的例子中由于深度图是通过密集BA估计的我们建议使用估计深度的边际协方差直接融合深度图。这在计算上很难做到因为在Dense SLAM 中每个关键帧的深度数可能与帧中的像素总数一样高 (≈ 105)。我们在下面展示了我们如何通过利用信息矩阵的块稀疏结构来实现这一点。 方 法 我们方法的主要思想是将由概率不确定性加权的极其密集但嘈杂的深度图融合到体积图中然后提取具有给定最大不确定性界限的 3D 网格。为实现这一目标我们利用 Droid-SLAM 的公式来生成姿态估计和密集深度图并将其扩展为生成密集不确定性图。 我们将首先展示如何从基础BA问题的信息矩阵中有效地计算深度不确定性。然后我们提出了我们的融合策略以生成概率合理的体积图。最后我们展示了如何在给定的最大不确定性范围内从体积中提取网格。 密集单目 SLAM 其核心经典的基于视觉的逆深度间接 SLAM 解决了束调整 (BA) 问题其中 3D 几何被参数化为每个关键帧的一组逆深度。这种结构的参数化导致了一种解决密集 BA 问题的极其有效的方法可以将其分解为熟悉的箭头状块稀疏矩阵其中相机和深度按顺序排列 尽管如此为了对实时 SLAM 进行足够快的推理逆深度图的估计分辨率低于原始图像的 1/8在我们的例子中为 69×44 像素Euroc 数据集的原始分辨率为 752×480这我们首先下采样到 512×384。一旦解决了这个低分辨率深度图学习的上采样操作首先在 [23] 中显示用于光流估计并在 Droid-SLAM 中使用恢复全分辨率深度图。这使我们能够有效地重建与输入图像具有相同分辨率的密集深度图。  使用高分辨率深度图解决相同的 BA 问题对于实时 SLAM 来说是非常昂贵的深度不确定性的计算进一步加剧了这个问题。我们相信这就是为什么其他作者没有使用从 BA 导出的深度不确定性进行实时体积 3D 重建的原因使用全深度 BA 的成本高得令人望而却步而使用稀疏深度 BA 会导致深度图过于稀疏无法进行体积重建重建。替代方案一直是使用稀疏 BA 进行姿态估计和几何形状的第一次猜测然后是与稀疏 BA 中的信息矩阵无关的致密化步骤 [20]。这就是为什么其他作者建议对密集 SLAM 使用替代 3D 表示例如 CodeSLAM [3] 中的潜在向量。我们的方法也可以应用于 CodeSLAM. 逆深度不确定性估计 鉴于 Hessian 的稀疏模式我们可以有效地提取每像素深度变量所需的边际协方差。逆深度图 Σd 的边际协方差由下式给出 其中 di 是每个像素的逆深度之一。由于大多数操作都可以并行计算因此我们利用了 GPU 的大规模并行性。 深度上采样和不确定性传播 最后由于我们想要一个与原始图像分辨率相同的深度图我们使用 Raft [23] 中定义的凸上采样运算符对低分辨率深度图进行上采样该运算符也在 Droid [24] 中使用.这种上采样操作通过采用低分辨率深度图中相邻深度值的凸组合来计算高分辨率深度图中每个像素的深度估计。通过以下方式为每个像素给出生成的深度估计 其中 z 是生成的深度d 是反深度。 不确定性感知体积映射  鉴于每个关键帧可用的密集深度图可以构建场景的密集 3D 网格。不幸的是深度图由于它们的密度而非常嘈杂因为即使是无纹理区域也会被赋予深度值。体积融合这些深度图降低了噪声但重建仍然不准确并且被伪影破坏参见图 4 中的“基线”它是通过融合图 1 中所示的点云计算的 虽然可以在深度图上手动设置过滤器有关可能的深度过滤器示例请参阅 PCL 的文档 [19]并且 Droid 实现了一个 ad-hoc 深度过滤器参见图 4 中的 Droid但我们建议改用估计的深度图的不确定性这提供了一种稳健且数学上合理的方式来重建场景。 体积融合基于概率模型[7]其中假设每个深度测量是独立的和高斯分布的。在这个公式下我们尝试估计的带符号距离函数 (SDF) φ 最大化了以下可能性 其中 Wi 是存储在每个体素中的权重。权重初始化为零W0 0TSDF 初始化为截断距离 τφ0 τ在我们的实验中τ 0.1m。上面的公式作为移动加权平均值在使用的权重函数方面非常灵活。这种灵活性导致了融合深度图的许多不同方法有时会偏离其概率公式。  图 2. 给定最大允许网格不确定性 Σdi 的 3D 网格重建从无穷大上限即最小权重 0.0最左侧的 3D 网格到 0.01即最小权重 10最右侧的 3D 网格呈对数下降.由于高度不确定性用红色圆圈突出显示的区域首先消失。这些对应于无纹理和混叠区域。两个最接近的红色圆圈对应于与图 3 中描绘的区域相同的区域。 大多数方法通过对所用深度传感器的误差分布进行建模来确定权重函数无论是激光扫描仪、RGB-D 相机还是立体相机 [7、15、18]。例如Nguyen 等人。[14] 对来自 RGB-D 相机的残差进行建模并确定深度方差由 z2 主导z 是测量的深度。拜洛等人。[5] 分析了各种权重函数并得出结论在表面后面线性递减的权重函数会导致最佳结果。Voxblox [15] 将这两个工作组合成一个简化的公式效果很好它也被用于 Kimera [17] 在我们的例子中不需要复杂的加权或传感器模型深度不确定性是根据 SLAM 中固有的概率因子图公式计算的。具体来说我们的权重与深度的边际协方差成反比这是从方程式中的概率角度得出的。(13).值得注意的是这些权重来自数百个光流测量与神经网络估计的相关测量噪声的融合GRU 在 Droid [24] 中的输出。 不确定性界限的网格划分  鉴于我们的体素对带符号的距离函数具有概率合理的不确定性估计我们可以提取不同级别的等值面以允许最大不确定性。我们使用行进立方体提取表面只对那些不确定性估计低于最大允许不确定性的体素进行网格划分。生成的网格只有具有给定上限不确定性的几何体而我们的体积包含所有深度图的信息。 如果我们将不确定性边界设置为无穷大即权重为 0我们将恢复基线解决方案该解决方案非常嘈杂。通过逐渐减小边界我们可以在更准确但更不完整的 3D 网格之间取得平衡反之亦然。在第 4 节中我们展示了随着不确定性界限值的降低而获得的不同网格图 2。在我们的实验中我们没有尝试为我们的方法找到特定的帕累托最优解而是使用不确定性 0.1 的固定最大上限这导致非常准确的 3D 网格完整性略有损失参见第 4 节进行定量评估。请注意在不固定比例的情况下此不确定性界限是无单位的可能需要根据估计的比例进行调整。 实现细节  我们使用 CUDA 在 Pytorch 中执行所有计算并使用 RTX 2080 Ti GPU 进行所有实验11Gb 内存。对于体积融合我们使用 Open3D 的 [30] 库它允许自定义体积集成。我们使用相同的GPU 用于 SLAM 并执行体积重建。我们使用来自 Droid-SLAM [24] 的预训练权重。最后我们使用 Open3D 中实现的行进立方体算法来提取 3D 网格。 结 果 第 4.2 节和第 4.3 节展示了我们提出的 3D 网格重建算法的定性和定量评估相对于基线和最先进的方法在 EuRoC 数据集上使用具有以下场景的子集真实点云。 定性分析展示了我们方法的优缺点并在感知质量和几何保真度方面与其他技术进行了比较。对于定量部分我们计算了准确性和完整性指标的 RMSE以客观地评估性能我们的算法对竞争方法的影响。我们现在描述数据集和用于评估的不同方法。 数据集和评估方法  为了评估我们的重建算法我们使用了 EuRoC 数据集该数据集由在室内空间飞行的无人机记录的图像组成。我们使用 EuRoC V1 和 V2 数据集中可用的地面实况点云来评估我们的方法生成的 3D 网格的质量。对于我们所有的实验我们将最大允许网格不确定性设置为 0.1。 我们将我们的方法与两种不同的开源最先进的学习和基于模型的密集 VO 算法进行比较Tandem [10]一种学习的密集单目 VO 算法它使用 MVSNet 风格的架构和光度学捆绑包 -调整和 Kimera [17]一种基于模型的密集立体 VIO 算法。两者都使用体积融合来重建 3D 场景并输出环境的 3D 网格。我们还展示了在 Droid 的 ad-hoc 深度过滤器之后融合 Droid 的点云的结果该过滤器通过计算在阈值默认为 0.005内重新投影的附近深度图的数量来计算深度值的支持。然后丢弃任何小于 2 个支持深度或小于平均深度一半的深度值。Droid 的过滤器用于去除深度图上的异常值而我们融合所有由不确定性加权的深度图。作为我们的基线我们使用 Droid 估计的原始点云并将它们直接融合到体积重建中。 定性建图性能  图2显示了我们如何通过改变3D重建中允许的最大不确定性水平来权衡精确度的完整性。我们还可以看到不太确定的几何形状是如何逐渐消失的。最不确定的几何形状对应于漂浮在3D空间中的伪影因为深度三角化不好当反向投影时散落在3D射线中图2中的第一列。然后我们看到消失的后续几何形状对应于无纹理区域每列中最左边和最右边的红色圆圈。有趣的是在无纹理区域之后移除的几何形状对应于高度锯齿的区域图2中每列中的中间红色圆圈例如加热器或房间中棋盘格的中心。 图 3.左列第 i 帧。右栏第 j 帧。左上第 i 帧的估计深度图。左下帧 i 的估计深度图不确定性。右上从第 i 帧到第 j 帧的光流 x 分量的光流测量权重。右下y 分量的光流测量权重。请注意流权重位于帧 i 在帧 j 中可见的位置。深度的不确定性来自多个光流测量的融合而不是单个光流测量。对于左列低值显示为黄色高值显示为蓝色。对于右列低值显示为蓝色高值显示为黄色。EuRoC V1 01 数据集。 仔细观察图 3 可以看出估计的深度不确定性 Σd 不仅对于无纹理区域很大而且对于具有强混叠的区域也很难解决基于光流的 SLAM 算法中间的加热器图片。实际上对于具有强混叠或无纹理区域的区域光流权重图 3 中的右栏接近于 0。这种新出现的行为是一个有趣的结果可用于检测混叠几何或指导孔填充重建方法。 图 4. Kimera [17]、Tandem [10]、我们的基线和 Droid 的深度过滤器 [24]使用默认阈值 0.005重建的 3D 网格与我们使用最大容忍网格不确定性 0.1 的方法的比较。EuRoC V2 01 数据集。 图4定性地比较了Kimera[17]、Tan晚会[10]、基线方法、Droid[24]和我们的方法的3D重建。我们可以看到与我们的基线方法相比我们在准确性和完整性方面都表现得更好。Kimera能够构建完整的3D重建但与我们的方法相比缺乏准确性和细节。Tandem是表现最好的竞争方案并且比我们提议的方法产生了相似的重建结果。从图4中我们可以看到Tandem比我们的更完整见我们重建中右下角缺失的地板条同时稍微不太准确见重建的左上角部分在Tandem的网格中扭曲。原则上我们的方法也可以重建房间的底层基线重建有这些信息。尽管如此在机器人环境中最好是意识到哪个区域是未知的而不是做出不准确的第一次猜测因为这可能会关闭机器人可能穿过的路径DARPA SubT挑战赛[1]中的一个常见场景机器人探索隧道和洞穴网络。最后Droid的深度过滤器缺少重要区域并对重建精度产生负面影响。 表 1. 精度 RMSE [m]对于我们的方法生成的 3D 网格与 Kimera、Tandem、Droid 的过滤器和我们的基线相比在具有地面实况点云的 EuRoC 数据集的子集上。请注意如果一种方法仅估计几个准确的点例如 Droid则准确度可以达到 0。粗体为最佳方法斜体为次优- 表示未重建网格。 表 2. 完整性 RMSE [m]对于我们的方法生成的 3D 网格与 Kimera、Tandem 和我们的基线相比在具有地面实况点云的 EuRoC 数据集的子集上。请注意如果一种方法估计密集的点云例如基线则完整性可以达到 0。粗体为最佳方法斜体为次优- 表示未重建网格  定量建图性能   我们使用精度和完整性度量根据地面实况评估每个网格如[16第4.3节]i我们首先通过以104点/m2的均匀密度对重建的3D网格进行采样来计算点云ii我们使用CloudCompare[6]将估计的和地面实况云注册到ICP[2]以及iii我们评估从地面实况点云到估计点云中最近邻居的平均距离精度反之亦然完整性具有0.5m最大差异。 第 4.2 节和第 4.3 节提供了我们提出的方法、Droid 的过滤器和我们的基线之间的定量比较以及与 Kimera [17] 和 Tandem [10] 在准确性和完整性方面的比较。从表中可以看出我们提出的方法在准确性方面表现最好差距很大与 Tandem 相比高达 90%与 V1 03 的基线相比高达 92%而 Tandem 达到了第二 -整体最佳准确度。在完整性方面Tandem 实现了最佳性能在基线方法之后其次是我们的方法。Droid 的过滤器以基本不完整的网格为代价实现了良好的精度。 图 6 显示了 Tandem顶部和我们的重建底部的估计云V2 01根据到地面真实云中最近点的距离准确性进行颜色编码。我们可以从这个图中看到我们的重建比 Tandem 的更准确。特别是有趣的是Tandem 倾向于生成膨胀的几何体特别是在无纹理区域例如 V2 01 数据集中的黑色窗帘灰色几何体。我们的方法具有更好的细节和更好的整体准确性。图。图 5 显示了 Tandem 和我们的方法重建的 3D 网格的特写视图。我们的重建往往不太完整并且存在出血边缘但保留了大部分细节而 Tandem 的重建缺乏整体细节和倾向于略微膨胀但保持更完整。 实时性能  将 Euroc 图像下采样到 512×384 分辨率导致每秒 15 帧的跟踪速度。计算深度不确定性会使跟踪速度降低几帧/秒至 13 帧/秒。体积融合深度估计有或没有深度不确定性需要不到 20 毫秒。总的来说我们的管道能够以每秒 13 帧的速度实时重建场景通过并行摄像机跟踪和体积重建并使用自定义 CUDA 内核。 图 5. 仔细观察 Tandem 的 3D 重建与我们的之间的差异。EuRoC V2 01 数据集  图 6. Tandem上和我们下的 3D 网格重建结果的精度评估。我们在 0.05m 处截断色标并将其上方的任何内容可视化为灰色最多 0.5m超出此误差的几何图形将被丢弃。请注意我们的重建在 0.37m 处有最大误差而 Tandem 的最大误差超出了 0.5m 的界限。EuRoC V2 01 数据集。 总结  我们提出了一种使用密集的单目SLAM和快速深度不确定性计算和传播的3D重建场景的方法。我们表明我们的深度图不确定性是准确和完整的3D体积重建的可靠信息来源从而产生具有显著降低噪声和伪影的网格。 鉴于我们的方法提供的映射精度和概率不确定性估计我们可以预见未来的研究将集中在地图中不确定区域的主动探索上通过结合语义学来重建其几何形状之外的3D场景如Kimera语义[18]或者通过使用神经体积隐式响应进行光度精确的3D重建如Nice-SLAM[31]。 #SLAM4 Arxiv链接https://arxiv.org/abs/2304.09793 Github 链接https://github.com/kun150kun/ESLAM-survey 视觉SLAM (vSLAM)是指移动机器人通过相机感知外部世界并估计机器人的位姿和重建周围环境的三维地图。vSLAM在各种应用中扮演着不可或缺的角色包括自动驾驶机器人导航和增强现实。例如在机器人导航里vSLAM能够提供环境信息和机器人的位置来帮助它到达指定的地点。vSLAM通常利用传统的RGB相机获取图片信息。然而传统的相机局限于低动态感光范围和运动中产生的动态模糊而无法在复杂的场景下得到精准的位姿估计和三维重建结果。近年来基于一种新的仿生相机即事件相机相应的vSLAM算法被相继提出。该类方法利用事件相机的高帧率、高动态感光范围、低能耗、低延迟等特性在一些复杂的场景下也能得到了非常优异的结果。 本综述综合性地概述了基于事件相机的vSLAM研究进展同时也包含了事件相机的工作原理和事件数据的预处理和表征形式。我们将主流的算法分为四大类即特征法、直接法 、运动补偿法和基于深度学习的方法。在每个类别中我们对相应的算法框架、突出贡献、优势和局限性都进行了充分的论述。另外本文还整合了包含事件相机及多模态的诸多vSLAM的数据集并在典型的数据集上对具有代表性的方法进行了系统的结果评估也同时讨论了不同方法各自适用的场景。最后我们讨论了目前基于事件相机的vSLAM存在的挑战以及未来可能的研究方向。 本综述总结的方法细节、数据集、实验与评估的结果都已在线公开并会保持更新详情请见链接https://github.com/kun150kun/ESLAM-survey。 事件相机vSLAM介绍 vSLAM能够通过视觉传感器来获取环境信息以达到估计机器人位姿和周围环境三维重建的目的。但是传统的视觉传感器受限于它的硬件而导致的低动态感光范围和运动中产生的动态模糊在一些复杂的场景下无法得到良好的结果例如高速运动中的或者复杂的光照条件下的场景。 近年来事件相机受到了研究者们的关注。由于事件相机的高帧率、低延迟和高动态感光范围使得基于事件相机的vSLAM 能够胜任一些复杂的场景尤其是高速运动和复杂光照下的场景。但是事件相机产生的事件数据和传统相机产生的图像完全不同。如图1(a, b)所示事件相机通过记录了每个像素点的光度变化而产生时间连续性的、异步的、稀疏的和不规则的数据。因此传统的vSLAM算法不能直接运用在事件数据上。同时每个事件传递的信息极少且极易受到硬件噪声的影响。此外事件相机引入了更加复杂的多视图几何关系。所以我们需要一个新的框架来处理事件数据来实现vSLAM。 为了能让基于事件相机的vSLAM在事件数据上实现位姿估计和三维重建研究者设计出了多种多样针对事件相机的数据关联、位姿估计和三维重建的解决方案。我们将主流的算法分类为四种类别分别为特征法、直接法、运动补偿法和基于深度学习的方法。特征法通过在事件数据中提取并跟踪特征点实现vSLAM而直接法隐式关联事件数据一次实现vSLAM运动补偿法通过消除投影在图像平面上的事件表征所产生的动态模糊来估计相机的运动基于深度学习的方法利用神经网络实现端到端的预测位姿和三维图。本文对相关的研究算法做了详尽的介绍并对一些具有代表性的方法进行了结果评估。 具体研究进展及讨论 为了处理事件相机产生的异步的、不规则的事件数据研究者利用滤波器和脉冲神经网络来单独处理每一个原始的事件数据但是这些方法通常需要大量的运算。另一方面研究者提出将一组连续的事件数据转化成同步的事件表征形式例如二维事件帧、时间平面和voxel grid来平衡延迟和运算量。更多详情可见文章第三章。 主流的vSLAM算法通常包括三个主要的步骤数据关联、位姿估计和三维重建。它们对相同三维点在不同二维图像平面上的像素点构建关联通过多视角的几何学进行位姿估计和三维重建。基于事件相机的vSLAM也遵循了这一范式。 特征法通常从事件数据中提取并跟踪特征来构建数据关联例如原始的点和线特征。利用特征和显式的特征关联特征法能够估计每个特征点对应的相机位姿和三维点。特征法十分依赖于特征提取和算法的表现而由于事件数据中的噪声和运动变化的特性现有的基于事件相机的特征提取算法还不够成熟使得特征法的效果相对比较差。VIO方法通过结合惯性数据提高特征法的鲁棒性并取得了较好的性能。更多详情可见文章第四章。 直接法分为两类(a) 事件-图像对齐法利用光度变化和绝对光度的关系来建立每个事件和参照光度图像的像素点(b) 事件表征对齐法利用了事件数据中的空间-时间的关系对齐两帧事件表征。由于事件一般产生于高图像梯度的区域这一先验可以帮助直接法筛选像素点。同时事件相机的高帧率特性保证了两帧之间的相对位姿较小从而保证了直接法能够得到最优解。更多详情可见文章第五章。 长时间跨度的事件帧通常会产生动态模糊而运动补偿法旨在优化事件数据的对齐锐化事件帧来估计相机的运动。这种方法能够保留长期的边缘模型提高相机位姿估计的鲁棒性同时它们能够运动到事件数据中的时间戳。但是运动补偿法有可能产生事件塌缩的现象即所有事件对齐到一个点或者一条线上而得到不准确的相机位姿。更多详情可见文章第六章。 基于深度学习的方法通常将事件数据转换成二维的事件表征或者三维的voxel grid采用神经网络提取特征来预测位姿和重建三维图。(a) 无监督学习法利用事件的光流作为训练信号来估计位姿和深度。(b) 监督学习法直接利用位姿和深度真 值来训练神经网络从而直接预测位姿和深度。神经网络能够提取事件相机的非线性特征并处理事件噪声和异常。但是深度学习方法需要大量的训练数据并且其泛用性较差。另外脉冲神经网络能够直接处理异步的、规则的事件数据但是这项技术还不够成熟它的脉冲消失问题和训练问题有待解决。更多详情可见文章第七章。 实验对比 我们首先详细介绍了常用的基于事件相机的vSLAM数据集以及近几年最新的相关数据集。它们提供了事件相机在不同场景、不同光照条件下的事件数据以及相机的位姿和深度图。另外我们详细介绍了位姿和深度估计的评价标准。我们分别在相机位姿和深度估计两个子任务上对具有代表性的算法进行了详尽的比较。我们在相同的设定下以公正的评测目前的基于事件相机的vSLAM方法与传统相机的方法。相关指标结果如图45所示。最后我们讨论了四种主流方法的适用场景。 挑战与展望 在这一节我们讨论了基于事件相机的vSLAM面临的主要挑战和未来的研究方向。我们在这里做一个简要的讨论。更多详情可见文章第九章。 理论研究 理论分析能够提供基于事件相机的vSLAM方法泛用性和验证性提供理论保证。近几年传统的vSLAM发展了许多理论研究然而基于事件相机的vSLAM缺乏相应的理论研究。如何将传统的vSLAM的理论研究扩展到事件相机上或者建立新的理论体系是一个值得研究的未来方向。 提高恶劣环境下的鲁棒性 即将事件相机在高动态感光范围的环境下有巨大的优势但是一些恶劣环境下的场景依旧会提高事件数据的噪声降低基于事件相机的vSLAM方法的准确率例如夜晚场景和极端天气状况。如何提高vSLAM方法在恶劣环境下的鲁棒性保有精确的位姿估计和三维重建是一个充满潜力的研究方向。 全局优化 由于不准确的数据关联和传感器的噪声基于事件相机的vSLAM算法会累积偏移误差导致在长时间的相机运动下产生更大的误差而偏离实际的位置。额外的全局优化有望消除累积的便宜误差例如全局地图优化和位姿图优化。 多模态的基于事件相机的vSLAM 将基于事件相机的vSLAM方法与多模态领域进行融合可以进一步提高算法的鲁棒性。例如惯性传感器能够提供惯性数据防止相机跟踪丢失。事件-图像对齐直接法利用光度变化和绝对广度的关系对齐事件和图像上的像素点。未来可以进一步探究不同传感器和事件相机之间互补的特性来得到更精确、鲁棒的vSLAM方法。 总 结 我们提供了一份基于事件相机的vSLAM领域的综述涵盖了事件相机的工具原理、事件预处理的表征形式、四种主要的vSLAM方法公开的评估结果以及未来的研究方向。事件相机能够提高vSLAM算法在高速运动和高动态感光范围场景下的鲁棒性。为了能够利用事件相机的优势并运用到vSLAM上未来还需要我们更好地处理异步的、稀疏的事件数据。我们将长期维护一个开放的github仓库来定期更新最新的工作进展和数据集(https://github.com/kun150kun/ESLAM-survey)。 #SLAM5~ 作者(感谢大佬啊)更新博士毕业论文“Decentralized and Distributed Collaborative Simultaneous Localization and Mapping System for Aerial Swarms”的中文科普版有别于更专业的原版这一版本主要包括更多的图片相关工作带有的评述和思考结果展示降低一部分算法细节。本系列文章大概会是中文互联网最适合入门多机SLAM的论文之一读者也可以通过本系列文章对移动机器人感知进行一些了解。 由于工程量巨大thesis大概有150多页所以请读者做好本系列文章会更新到夏季的心理准备。一个比较好的预期是每周或者每半个月会写一篇。也请关注我的专栏方便接收更新。 什么是SLAM为什么我们需要多机SLAM 一个良好的科普通常从生活中的现象开始本文也不例外。到2023年扫地机器人已经走入了千家万户。 一个良好的扫地机器人不仅仅能够灵活的绕开障碍物也能自动返回到充电器附近对自己进行充电。实现这一技术的核心就是SLAM实时定位与地图构建由于这个中文名实在太长后文简称SLAM 使用D^2SLAM估计出的不同机器人移动轨迹 使用D2SLAM构建出的稠密地图 大家可能都知道GPS能确定自己的位置然而GPS很容易受到干扰在室内环境中更完全无法使用其基本原理又限制了精度。SLAM技术就像是人类的眼睛小脑是几乎一切移动机器人的基础。其目标包括了两个确定机器人自身在三维空间中的位置和姿态并且构建出周边环境的地图。这是人类和动物与生俱来的本能在机器人上是相当复杂的。 随着国内机器人产业的大发展SLAM技术也在这两年逐渐普及开来典型的应用几乎涵盖了正在改变世界的大部分工业产品正大量出货的自动驾驶汽车逐渐普及开的VR/MR虚拟现实设备和“元宇宙”市面上的高价无人机各家各户的扫地机器人海底捞的送货小车等等。 坦白的说时至今日随着视觉Lidar激光雷达两开花现在的SLAM技术已经趋于成熟请看下面香港大学林博 ziv.lin 的工作。 香港大学林博的杰作激光视觉融合的SLAMhttps://github.com/hku-mars/ImMesh 香港大学林博的杰作激光视觉融合的SLAMhttps://github.com/hku-mars/ImMesh 在单机slam逐渐成熟的同时研究届也正在转向一些更加困难的课题这其中就包括了多机SLAM。 为什么我们需要多机SLAM 设想我们有一群无人机 我们希望他们能在狭窄的室内环境或者森林中自由飞翔去执行救灾探险等任务。那么想要这些无人机不要在物理上打成一片我们就必须做到几点 确定每个无人机自身在空间中的位置。确定其他无人机相对于无人机自身在空间中的位置。每个无人机对周围的环境进行感知。确定障碍物的位置。 比较早期的研究者和商业公司选择了一种粗暴的方式解决这一问题使用外部定位设施包括昂贵的动作捕捉系统对就是拍电影和Vtuber出道要用的那个UWB基站或在在宽阔的室外架设基站使用rtk-gps来飞行几乎所有已经商业化的无人机集群表演都使用了这一技术。 然而非常精确的动作捕捉设备不仅仅昂贵也局限于实验室环境--你不能指望无人机去参加救灾活动的时候先花几个小时假设一套动捕或者UWB基站吧GPS说过了容易被干扰且局限于室外那么有什么比较好的办法解决这一问题呢 答案就是多机的相对定位以及多机SLAM技术。 截至2023年这一类技术已经替代了用了20年的动捕逐渐成为了无人机集群的标配。正是相对定位/多机SLAM技术的发展使得真正完全自主的无人机集群成为了可能相关工作的视频有两个值的一看。一个是高飞师兄组的science robotics大作aerial swarm in the wild[1]这篇文章是全世界第一个完整展现了自然环境中的高度自主的无人机集群的演示使用的多机技术互相定位技术正是参考了或者说受启发接下来要介绍的我的工作Omni-swarm[2] www.bilibili.com/video/BV1pv4y1K7zS/?spm_id_from333.337.search-card.all.clickvd_source5b500ce27249089310ee479674dfb683 其次是 周博宇 博士和我合作的工作Racer[3]这一工作展现了多个无人机集群对未知环境的探索。其定位方案则是直接使用的Omni-swarm www.bilibili.com/video/BV1F14y1g7cG/?spm_id_from333.337.search-card.all.clickvd_source5b500ce27249089310ee479674dfb683 多机SLAM技术都有哪些 在正式进入话题之前我们要简单的回顾一下现有的工作。目前的相对定位方案包括了如下几类 视觉方案 使用视觉进行例如捕捉红外灯光marker直接对其他无人机进行visual detection等优势是视觉测量精确的相对定位缺点是歧义性搞明白哪个飞机是哪个是最大的问题。对于这一问题解决方案包括不同的灯光组合[4][5]算法硬解等[6] UWB 信息 UWB可以提供十厘米上下精度的测距信息。使用UWB测距信息也可以用于辅助定位但是单一uwb信息并不可观也缺乏定向信息。这使得我们需要和其他方法的融合[7]。 地图环境 使用环境地图方案进行相对和绝对定位通常是一个不错的想法[8]但是仅仅适用于环境特征较为稠密的室内在室外则有诸多局限性。地图环境定位的另一个问题是需要较大的通信带宽。 我们的方案 这里给出我们方案思路的简述在后续文章会逐渐分析。 UWB-视觉去中心化定位 首先是针对相对定位和绝对定位这一问题我首先研究了使用UWB-视觉融合的方法不仅仅使用uwb和odometry里程计融合同样引入了精度更高的视觉检测方法对精度进行增强。该方法已经在实验中展现出了厘米级别的精度并且是第一个在环境狭窄的室内实现紧密配合情况下飞行的无人机集群。后来高飞组在science robotics中使用的方案就和这一方案类似。 该文章发表在机器人研究顶会ICRA上文章链接是 http://www.xuhao1.me/files/ICRA2020hao.pdf www.bilibili.com/video/BV1y7411y7Qx/?spm_id_from333.999.0.0vd_source5b500ce27249089310ee479674dfb683 更全能的Omni-swarm 在前文所做的实验中最令人头疼的事情之一是状态感知的初始化作为一个高度自主的集群我们希望他们能够只依赖自己而不是预先输入的信息完成初始化。于是后续对此方法进行了进一步改进地图方案也被融入于是不仅仅能完成相对定位更展现出了全局一致性并且针对初始化问题和可观测性进行了优化ICRA版本需要运动来初始化或者已知初始位置这篇工作的名称是Omni-swarm。Omni意为全向和全能我们还发现了对无人机集群很重要的事情使用全向摄像头可以显著的改善可观测性。该文章也包含了迄今所有无人机相对定位的主流方案所以被称作“Omni”。该文章发表于机器人研究顶刊IEEE Transaction on Robotics (TRO)上https://ieeexplore.ieee.org/document/9813359, 代码已经开源在:GitHub - HKUST-Aerial-Robotics/Omni-swarm: A Decentralized Omnidirectional Visual-Inertial-UWB State Estimation System for Aerial Swar. www.bilibili.com/video/BV1FV411H7Kg/?spm_id_from333.999.0.0 Racer未知环境的无人机群探索 在Omni-swarm的基础上我们进行了现实环境的无人机探索任务这是世界第一个完全去中心化的无人机群自主探索研究正是去中心化且全能的“omni-swarm”是这种任务成为了可能。这篇文章同样发表于TRO上https://ieeexplore.ieee.org/abstract/document/10038280 Racer飞行测试时的地面站截图该地面站由我本人开发。 www.bilibili.com/video/BV1F14y1g7cG/?spm_id_from333.337.search-card.all.clickvd_source5b500ce27249089310ee479674dfb683 在Racer的研究中我又得到了不少启发1自主无人机群仅仅在无人机互相距离较近的时候有相互高精度定位的必要飞远了自然也没有必要互相避障了这时候相对定位精度的重要性自然降低。2.当无人机相距较远的时候互相并不碰面这时候我们更关注的是全局一致性也就是地图不能随着飞行轨迹的飞行而飘移要飞一圈回来飞机仍然在之前的地方这样地图才能进行后续的应用。3.是uwb和视觉检测用起来有时候很麻烦容易被复杂环境干扰。我们需要一个更加可靠且通用的方案UWB也好视觉检测也好可以作为“dlc”挂进去也可以根据环境的不同不去挂载。 D2SLAM分布式更高精度和全局一致性 无人机群的“近场“状态估计(near-field state estimation当无人机集群中的飞机距离较近通信良好的时候我们有必要为了互相避障和紧密协作也有能力建立高精度的局部定位自身状态估计和无人机的互相定位。我把这部分能力称作近场估计“远场“状态估计far-field state estimation)当无人机群中的飞机互相距离较远时为了任务的完整性我们关注的是地图全局一致性也就是地图不能乱跑这种能力被我称作远场估计。 SLAM的贡献在于良好的解决了上面的两种问题在延续了我们已有的全向视觉的思想的同时引入了分布式计算来改善计算效率。这篇文章已经投稿至TRO是的我们就是这么热爱TRO, 预印本已经放在https://arxiv.org/abs/2211.01538 并且代码开源在了 https://github.com/HKUST-Aerial-Robotics/D2SLAM 文档和数据集逐步完善中 ​​www.bilibili.com/video/BV1eY4y1Q7j1/?spm_id_from333.999.0.0​​ 使用D2SLAM重建的实验室 本系列文章后续会略微详细介绍我们的算法和我个人的一些思考时间有限更新不一定稳定。敬请关注。感兴趣的也可以先下载对应的论文。 小结 无人机群的状态估计是构建一个自主集群的最关键的基础技术之一并且还在不断的发展中有大量的问题未被解决。相比于路径规划互相避障环境探索等任务被大众所知的程度也更低一些。本系列文章从我个人的研究出发希望能给大家一个对此问题的基础认知。也希望更多朋友参与到这一问题的研究中来。 #SLAM6 SLAM中的相机模型 在当今技术飞速发展的时代相机已经成为自动驾驶领域不可或缺的一部分扮演着极其重要的角色。自动驾驶技术的核心在于精确地感知和理解周围环境其中相机作为感知系统的眼睛为车辆提供了丰富的环境信息。通过捕捉周围的图像相机帮助自动驾驶系统实现了对道路状况、行人、车辆以及其他障碍物的识别和定位。特别是在同时定位与地图构建SLAM技术中相机不仅能够实时地提供环境图像还能够通过分析这些图像来帮助车辆理解其在环境中的位置这对于无人驾驶汽车的导航和路径规划至关重要。 为了让相机能够准确地提供这些关键信息了解和校准相机的内参变得尤为重要。相机内参包括了影响图像成像的各种因素如焦距、主点坐标和镜头畸变参数等这些参数决定了相机如何将三维世界映射到二维图像上。通过对这些内参进行精确的校准我们可以校正由于镜头畸变等因素导致的图像扭曲从而提高图像的准确性这对于提高自动驾驶系统的识别和定位准确性至关重要。内参标定不仅确保了数据的可靠性也是实现高级视觉算法如深度估计、物体识别和三维重建等的基础。因此相机内参标定是自动驾驶系统开发中的一个重要步骤它直接影响到自动驾驶汽车的性能和安全性。在自动驾驶技术不断进步的今天深入理解相机模型和精确校准相机内参是推动这一领域发展的关键。 本文总结了SLAM领域常见的“相机内参”形式所谓的“相机内参”将从以下几个方面展开 分别介绍“相机模型”和“畸变模型”“投影模型”是指在实际使用过程中以上两者的组合形式、一些实用的去畸变技巧 本文仅做学术讨论如有问题欢迎留言讨论和指正希望能对图像数据操作、感知模型训练、SLAM前端处理等不同任务带来启发下面正式开始 相机模型 Pinhole 由两式可得 Omnidirectional (omni) 全向模型也叫做统一相机模型 (Unified Camera Model) 由五个参数来描述就是平时见到的Cata-fisheye-model MEI的相机模型但是如果要完美的表达鱼眼相机需要配合畸变模型。 所谓的CataCamera实际指的是catadioptric意思就是在鱼眼相机及镜头的外侧再加上一个反向正对的折反射镜对应屈光度相机dioptric camera视野小于180 为什么要加一个外部透镜大大增加视野范围 主要解决的问题 外部透镜与相机光心未对齐不同透镜模型双曲线、抛物线、椭圆、平面、鱼眼镜头相机镜头的畸变过度参数化导致的难以解决的最小化问题 投影过程简化模型把折反镜、镜头、相机看作一个东西 标定过程 人工点选mirror的中心和镜子边界上的一点或默认使用图片中心估计主点人工在鱼眼图中选取棋盘一条直线上的至少3个点估计focal length人工在每个图片上框选棋盘格ROI估计外参重投影图片提取亚像素角点全局优化 Extended Unified Camera Model 为什么要提出这个模型只需要比pinhole多2个参数就可以表达径向畸变 UCM原本是将世界点投影在单位球面上EUCM在UCM模型的基础上再添加一个系数用来控制投影的曲面使其变成一个椭球面 可以将UCM重新参数化从 Double Sphere 从各个模型的精度对比实验中可以发现双球模型的价值 在精度表现中双球模型基本排名第二橘色和第一名的KB 8参数模型绿色几乎达到了相同的精度但是在计算时间上DS玩爆KB模型甚至KB模型还需要估计畸变模型导致需要估计的参数比DS多综上得在重投影误差几乎类似的情况下运行时间最快是高阶多项式模型较好的替代。 但是内参标定在意的是精度时间效率不是那么重要从精度表现上可以很容易明白为什么OpenCV的cv::fisheye采用的是KB模型。 Scaramuzza (OCam) 其中黑色的是镜头plane指的是图中粉红的数字传感器平面pixel指的是第4个图片中最终看到的图片。 第3个表达的是真实的数字传感器平面的“像素”不是理论上的“正方形且线性“的排列但是在数字转换的时候会强行按照正方形且线性地排列导致本来透镜看到的正圆被数字转换强行转成了一个椭圆。笔者理解这个弯曲的过程其实也可以包含镜头和成像平面没有对齐的情况总而言之这个拉伸矩阵的本质是仿射变换矫正由于镜头和成像平面由于物理位置未对齐、信号转换过程等原因引起的畸变 B-spline 标定精度实验1 对比2个相机同时垂直于玻璃、水平于玻璃放置分别使用普通模型和B-spline模型可以看到在垂直于玻璃时玻璃带来的影响类似故误差分布相似另一种情况B-spline更能标定出玻璃带来的影响。 标定精度实验2对比不同相机分别使用普通模型和B-spline模型可以看到B-spline的误差分布更小 畸变模型 Radial-Tangential (radtan) 大家最熟悉、最常用、配合pinhole的畸变模型分成径向畸变和切向畸变 一般k3可以不用估计切向畸变一般也很小根据需要可以估计 径向畸变 分为枕形畸变长焦镜头和桶形畸变广角镜头 光学镜头在生产制造过程中很难保证厚度均匀离中心越远光线弯曲程度越高 切向畸变 相机感光成像平面没有完全和透镜平行 两者结合的公式 Equidistant (equi) 其实一共有4种投影模型但是都是奇函数所以都可以用泰勒展开来表达等距模型是为了简化采用的最简单的一种 当然畸变参数是可以增加的阶数越高精度越高计算越慢。 Field-of-View  (fov) 这个模型只是理想模型这个角度是理论的视场角但是真实的光学器件可能不完全遵循这个模型比如制造偏差、硬件误差等 投影模型 模型组合 相机模型 畸变模型一些应用举例 pinhole radtan: cv::pinhole (OpenCV [4] ), VINS, ORB-SLAMpinhole equi (Kannala-Brandt [8] ): cv::fisheye (OpenCV), DSOpinhole FOV: atan (SVO, DSO, Kalibr)omni rantan: MEI (VINS Cata), cv::omnidir (OpenCV)Scaramuzza: SVO, NASA, Matlab 去畸变方式 Pinhole 那为什么去完畸变之后边界的图像会被拉扯得特别严重 鱼眼镜头会把光线进行折射粉色使得可以看到更广泛的视野对于世界下的同一条直线绿色针孔按照相似三角形原理在图像上的投影更长蓝色所以在鱼眼原图越靠近边缘的地方去完畸变拉扯现象越严重 Panoramic 全景图片可以在保留原始大FOV的前提下尽量减小畸变。但是图像内容也会变得比较奇怪e.g. 相机在道路中间道路会变成两半。 Cubemap 由于鱼眼图片直接投影成pinhole边缘区域会出现拉伸现象为了有效缓解这个问题可以将整个原图的像素投影在一个立方体的5个面上后面是看不到东西的除了前面和投影到pinhole没什么区别其他面就是把外参多转90度。    这样做会在不同面的接缝处产生突然弯折的现象。 Cylindrical 圆柱面的投影会在有效降低拉伸现象的同时最大保留原始FOV。可以想像这个相机坐标系下的单位球就是地球这个圆柱投影就是“墨卡托投影”会生成一张“世界地图”。 以下为畸变示意图请主要关注左侧车辆的形状变化从左至右分别为广角原图形变、pinhole投影拉伸现象、cylindrical投影较为自然 参考资料 [1] ETH Kalibr: https://github.com/ethz-asl/kalibr [2] ETH CamOdoCal: http://github.com/hengli/camodocal [3] ROS camera_calibration: http://wiki.ros.org/camera_calibration [4] OpenCV: http://opencv.org [5] Matlab Ocam calibration toolbox: ​​http://sites.google.com/site/scarabotix/ocamcalib-toolbox​​ #SLAM7 解锁SLAM新纪元基于NeRF和3D GS方法综述 在过去的二十年里SLAM领域的研究经历了重大的发展突出了其在实现未知环境的自主探索方面的关键作用。这种演变从手工制作的方法到深度学习时代再到最近专注于神经辐射场NeRFs和3D高斯泼溅3DGS表示的发展。我们意识到越来越多的研究和缺乏对该主题的全面调查本文旨在通过辐射场的最新进展首次全面概述SLAM的进展。它揭示了背景、进化路径、固有优势和局限性并作为突出动态进展和具体挑战的基本参考。 相关背景 现有SLAM综述回顾 SLAM有了显著的增长诞生了各种各样的综合论文。在早期阶段达兰特-怀特和贝利介绍了SLAM问题的概率性质并强调了关键方法。Grisetti等人进一步深入研究了基于图的SLAM问题强调了它在未知环境中导航的作用。在视觉SLAM领域Yousif概述了定位和映射技术结合了视觉里程计和SLAM的基本方法和进展。多机器人系统的出现使Saeedi和Clark回顾了最先进的方法重点关注多机器人SLAM的挑战和解决方案。 在现有文献中出现了两种主要的SLAM策略即frame-to-frame和frame-to-model跟踪方法。通常前一种策略用于实时系统通常涉及通过闭环LC或全局束调整BA对估计的姿态进行进一步优化而后一种策略从重建的3D模型中估计相机姿态通常避免进一步优化但导致对大场景的可扩展性较低。这些策略构成了我们即将深入研究的方法论的基础。 虽然现有的调查涵盖了传统的和基于深度学习的方法但最近的文献缺乏对SLAM技术前沿的全面探索这些前沿植根于辐射领域的最新进展。 图2展示了辐射场的三种表达形式 辐射场理论的演进 基于神经场的表面重建 尽管NeRF及其变体有可能捕捉场景的3D几何结构但这些模型是在神经网络的权重中隐含定义的。通过3D网格获得场景的显式表示对于3D重建应用是可取的。从NeRF开始实现粗略场景几何的基本方法是对MLP预测的密度进行阈值设置。更高级的解决方案探讨了三种主要表示形式。 占用情况。该表示通过用学习的离散函数ox∈{0,1}代替沿射线的α值αi对自由空间和占用空间进行建模。具体而言通过运行行进立方体算法来估计占有概率∈[01]并获得表面。 符号距离函数SDF。场景几何体的另一种方法是从任意点到最近曲面的符号距离在对象内部产生负值在对象外部产生正值。NeuS是第一个重新访问NeRF体积渲染引擎的人用MLP预测SDF为f(r(t))并用ρ(t)代替α从SDF推导如下 3D Gaussian Splatting 3DGS由Kerbl于2023年推出是一种用于高效、高质量渲染3D场景的显式辐射场技术。与传统的显式体积表示如体素网格不同它提供了一种连续而灵活的表示用于根据可微分的3D高斯形状基元对3D场景进行建模。这些基元用于参数化辐射场并可以进行渲染以生成新的视图。此外与依赖于计算昂贵的体积射线采样的NeRF相比3DGS通过基于瓦片的光栅化器实现实时渲染。这种概念上的差异在图3中突出显示。这种方法在不依赖神经组件的情况下提供了改进的视觉质量和更快的训练同时也避免了在空白空间中进行计算。更具体地说从具有已知相机姿势的多视图图像开始3DGS学习一组3D高斯。这允许将单个高斯基元的空间影响紧凑地表示为 相反对于优化该过程从SfM点云或随机值的参数初始化开始然后使用L1和D-SSIM损失函数对GT和渲染视图进行随机梯度下降SGD。此外周期性自适应致密化通过调整具有显著梯度的点和移除低不透明度点来处理欠重建和过重建优化场景表示并减少渲染错误。 数据集 本节总结了最近SLAM方法中常用的数据集涵盖了室内和室外环境中的各种属性如传感器、GT准确性和其他关键因素。图4展示了来自不同数据集的定性示例这些示例将在剩余部分中介绍。 TUM RGB-D数据集包括带有注释的相机轨迹的RGB-D序列使用两个平台记录手持和机器人提供不同的运动范围。该数据集有39个序列其中一些带有循环闭包。核心元素包括来自微软Kinect传感器的彩色和深度图像以30赫兹和640×480分辨率拍摄。GT轨迹来源于一个运动捕捉系统该系统有八台高速摄像机工作频率为100赫兹。数据集的多功能性通过典型办公环境和工业大厅中的各种轨迹得到了证明包括不同的平移和角速度。 ScanNet数据集提供了真实世界室内RGB-D采集的集合其中包括707个独特空间中1513次扫描的250万张图像。特别地它包括估计的校准参数、相机姿态、3D表面重建、纹理网格、对象级别的详细语义分割以及对齐的CAD模型。 开发过程包括创建一个用户友好的捕获管道使用定制的RGB-D捕获设置将结构传感器连接到iPad等手持设备上。随后的离线处理阶段导致了全面的3D场景重建包括可用的6-DoF相机姿势和语义标签。请注意ScanNet中的相机姿势源自BundleFusion系统该系统可能不如TUM RGB-D等替代系统准确。 Replica数据集具有18个照片级真实感3D室内场景具有密集网格、HDR纹理、语义数据和反射表面。它跨越不同的场景类别包括88个语义类并结合了单个空间的6次扫描捕捉不同的家具布置和时间快照。重建涉及定制的RGB-D捕捉设备该设备具有同步IMU、RGB、IR和广角灰度传感器通过6个自由度DoF姿势准确融合原始深度数据。尽管原始数据是在现实世界中捕获的但用于SLAM评估的数据集部分是由重建过程中产生的精确网格综合生成的。因此合成序列缺乏真实世界的特性如镜面反射高光、自动曝光、模糊等。 KITTI数据集是评估双目、光流、视觉里程计/SLAM算法等的流行基准。该数据集来自一辆配备了双目摄像头、Velodyne LiDAR、GPS和惯性传感器的汽车包含来自61个代表自动驾驶场景的场景的42000个立体对和LiDAR点云。KITTI里程计数据集包含22个激光雷达扫描序列有助于评估使用激光雷达数据的里程计方法。 Newer College数据集包括在牛津新学院周围2.2公里步行过程中采集的传感器数据。它包括来自立体惯性相机、带惯性测量的多波束3D激光雷达和三脚架安装的勘测级激光雷达扫描仪的信息生成了一张包含约2.9亿个点的详细3D地图。该数据集为每次激光雷达扫描提供了6 DoFGT姿态精确到约3厘米。该数据集涵盖了各种环境包括建筑空间、开放区域和植被区。 其他数据集 此外在最近的SLAM研究中我们提请注意利用率较低的替代数据集。 ETH3D-SLAM数据集包括来自定制相机设备的视频适用于评估视觉惯性单目、双目和RGB-D SLAM。它具有56个训练数据集、35个测试数据集和5个使用GTSfM技术独立捕获的训练序列。 EuRoC MAV数据集为微型飞行器提供同步立体图像、IMU和准确的GT。它支持在各种条件下进行视觉惯性算法设计和评估包括具有毫米精度GT的工业环境和用于3D环境重建的房间。 为重新定位性能评估而创建的7场景数据集使用Kinect以640×480的分辨率进行记录。GT姿势是通过KinectFusion获得的。来自不同用户的序列被分为两组——一组用于模拟关键帧采集另一组用于误差计算。该数据集带来了诸如镜面反射、运动模糊、照明条件、平坦表面和传感器噪声等挑战。 ScanNet数据集包括460个高分辨率3D室内场景重建、密集语义注释、单反图像和iPhone RGB-D序列。使用亚毫米分辨率的高端激光扫描仪拍摄每个场景都包括1000多个语义类的注释解决标签歧义并为3D语义场景理解和新颖视图合成引入新的基准。 SLAM 本节介绍利用辐射场表示的最新进展的最新SLAM系统。这些论文以基于方法的分类法进行组织按其方法进行分类为读者提供清晰有序的展示。本节首先对RGB-D、RGB和激光雷达方法进行基本分类为特定子类别的发展奠定基础。每个类别都按发表日期列出了在会议/期刊上正式发表的论文然后是arXiv按其初始预印本日期排列的预印本。 为了全面了解表1提供了调查方法的详细概述。此表提供了深入的摘要突出显示了每种方法的关键功能并包括对项目页面或源代码的引用只要可用。有关更多细节或方法细节请参阅原始论文。 RGB-D SLAM 在这里我们重点关注密集SLAM技术使用RGB-D相机捕捉彩色图像和逐像素的深度信息的环境。这些技术分为不同的类别NeRF风格的SLAM解决方案和基于3D高斯飞溅表示的替代方案。从这两种方法派生的专门解决方案包括用于大型场景的基于子映射的SLAM方法、处理语义的框架以及为动态场景量身定制的框架。在这种分类中一些技术通过不确定性来评估可靠性而另一些技术则探索集成其他传感器如基于事件的相机。 NeRF-style RGB-D SLAM 隐式神经表示的最新进展已经实现了精确和密集的3D表面重建。这导致了源自NeRF或受其启发的新型SLAM系统最初设计用于已知相机姿势的离线使用。在本节中我们描述了这些密集神经VSLAM方法分析了它们的主要特征并对它们的优势和劣势进行了清晰的概述。 iMAP。这项工作标志着首次尝试利用SLAM的隐式神经表示。这一突破性的成就不仅突破了SLAM的界限而且为该领域确立了新的方向。特别地iMAP展示了MLP动态创建特定场景的隐式3D模型的潜力。 NICE-SLAM。与iMAP使用单个MLP作为场景表示不同NICE-SLAM采用了集成多层次局部数据的分层策略。这种方法有效地解决了诸如过度平滑的重建和较大场景中的可扩展性限制等问题。 Vox Fusion。这项工作将传统的体积融合方法与神经隐式表示相结合。具体而言它利用基于体素的神经隐式表面表示来编码和优化每个体素内的场景。虽然与NICE-SLAM有相似之处但其独特之处在于采用了基于八叉树的结构来实现动态体素分配策略。 ESLAM。ESLAM的核心是实现了与传统体素网格不同的多尺度轴对齐特征平面。这种方法通过二次缩放优化内存使用与基于体素的模型所表现出的三次增长形成对比。 其他工作如Co-SLAM、GO-SLAM、Point-SLAM、ToF-SLAM、ADFP、MLM-SLAM、Plenoxel-SLAM、Structerf-SLAM、iDF-SLAM、NeuV-SLAM可以参考具体论文。 3DGS-style RGB-D SLAM 在这里我们概述了使用基于3D高斯飞溅的显式体积表示来开发SLAM解决方案的开创性框架。这些方法通常利用3DGS的优势例如与其他现有场景表示相比更快、更真实的渲染。它们还提供了通过添加更多高斯基元、完全利用每像素密集光度损失和直接参数梯度流来提高地图容量的灵活性以促进快速优化。到目前为止3DGS表示主要用于离线系统该离线系统致力于从已知相机姿势合成新的视图。在下一节中我们将介绍开创性的SLAM方法这些方法能够同时优化场景几何结构和相机姿态。 GS-SLAM。GS-SLAM通过利用3D高斯作为表示结合飞溅渲染技术引入了一种范式转变。与依赖神经隐式表示的方法相比GS-SLAM通过采用一种新方法利用3D高斯以及不透明度和球面谐波来封装场景几何结构和外观从而大大加速了地图优化和重新渲染如图6所示。 Photo-SLAM。这项工作将显式几何特征和隐式纹理表示集成在超基元地图中。该方法结合了ORB特征、旋转、缩放、密度和球面谐波系数以优化相机姿态和贴图精度同时最大限度地减少光度损失。 SplaTAM。这种方法将场景表示为简化的3D高斯图的集合从而实现高质量的彩色和深度图像渲染。SLAM管道包括几个关键步骤相机跟踪-高斯稠密化-地图更新。 GSSLAM。该系统采用3D高斯飞溅作为其唯一的表示使用单个移动的RGB或RGB-D相机进行在线3D重建。该框架包括几个关键组件如跟踪和相机姿态优化、高斯形状验证和正则化、建图和关键帧以及资源分配和修剪。 高斯SLAM。该框架采用了涉及地图构建和优化的管道创建由单独的3D高斯点云表示的单独的子地图以防止灾难性遗忘并保持计算效率。 Submaps-based SLAM 在这一类别中我们专注于解决灾难性遗忘的挑战以及先前讨论的受密集辐射场启发的SLAM系统在大型环境中面临的适用性问题的方法。 MeSLAM。MeSLAM引入了一种新的SLAM算法用于具有最小内存占用的大规模环境映射。这是通过将神经隐式映射表示与新的网络分布策略相结合来实现的。具体而言通过使用分布式MLP网络全局映射模块有助于将环境分割成不同的区域并在重建过程中协调这些区域的缝合。 CP-SLAM。这项工作是一种协作的神经隐式SLAM方法其特点是包含前端和后端模块的统一框架。其核心是利用与关键帧相关的基于神经点的3D场景表示。这允许在姿势优化过程中进行无缝调整并增强协作建图功能。 NISB地图。NISB Map采用多个小型MLP网络遵循iMAP的设计以紧凑的空间块表示大规模环境。与具有深度先验的侧面稀疏光线采样一起这实现了低内存使用率的可扩展室内映射。 多个SLAM。本文介绍了一种新的协作隐式SLAM框架来解决灾难性遗忘问题。通过使用多个SLAM代理来处理块中的场景它最大限度地减少了轨迹和建图错误。 MIPS-Fusion。如图8所示这项工作引入了一种用于在线密集RGB-D重建的分治映射方案使用了一种无网格的纯神经方法该方法具有增量分配和多个神经子映射的动态学习。 NEWTON。大多数神经SLAM系统使用具有单个神经场模型的以世界为中心的地图表示。然而这种方法在捕捉动态和实时场景方面面临挑战因为它依赖于准确和固定的先前场景信息。这在广泛的映射场景中可能特别有问题。 NGEL-SLAM。该系统利用两个模块即跟踪和映射模块将ORB-SLAM3的鲁棒跟踪能力与多个隐式神经映射提供的场景表示相结合。 PLGSLAM。本工作中提出的渐进式场景表示方法将整个场景划分为多个局部场景表示允许对更大的室内场景进行可扩展性并提高鲁棒性。 Loopy-SLAM。该系统利用子地图形式的神经点云进行局部建图和跟踪。该方法采用帧到模型跟踪和数据驱动的基于点的子地图生成方法在场景探索过程中基于相机运动动态生长子地图。 Semantic RGB-D SLAM 作为SLAM系统运行这些方法本身包括映射和跟踪过程同时还包含语义信息以增强环境的真实性。这些框架针对对象识别或语义分割等任务量身定制为场景分析提供了一种整体方法——识别和分类对象和/或有效地将图像区域分类为特定的语义类如桌子、椅子等。 iLabel。该框架是一个用于交互理解和分割3D场景的新颖系统。它使用神经场表示将三维坐标映射到颜色、体积密度和语义值。 FR-Fusion。该方法将神经特征融合系统无缝集成到iMAP框架中。通过结合2D图像特征提取器基于EfficientNet或DINO并使用潜在体积绘制技术增强iMAP该系统可以有效地融合高维特征图同时降低计算和内存需求。 其他算法如vMap、NIDS-SLAM、SNI-SLAM、DNS SLAM、SGS-SLAM可以参考具体论文。 SLAM in Dynamic Environments 到目前为止大多数SLAM方法都是基于以刚性、不移动物体为特征的静态环境的基本假设。虽然这些技术在静态场景中表现良好但它们在动态环境中的性能面临重大挑战限制了它们在现实世界场景中的适用性。因此在本节中我们概述了专门为应对动态环境中精确映射和定位估计的挑战而设计的方法。 DN-SLAM。这项工作集成了各种组件以解决动态环境中准确位置估计和地图一致性方面的挑战。DN-SLAM利用ORB特征进行对象跟踪并采用语义分割、光流和分段任意模型SAM有效地识别和隔离场景中的动态对象同时保留静态区域增强SLAM性能。具体而言该方法包括利用语义分割进行对象识别通过SAM细化动态对象分割提取静态特征以及使用NeRF生成密集地图。 DynaMoN。该框架建立在DROID-SLAM的基础上通过运动和语义分割对其进行了增强。该方法将这些元素集成到密集BA过程中利用运动和分割掩码对优化过程进行加权并忽略潜在的动态像素。通过预先训练的DeepLabV3网络语义分割有助于细化已知对象类的掩码并结合了基于运动的过滤来处理未知的动态元素。 其他算法如DDN-SLAM、NID-SLAM可以参考具体论文。 不确定性估计 分析输入数据中的不确定性尤其是深度传感器噪声对于鲁棒系统处理至关重要。这包括过滤不可靠的传感器测量值或将深度不确定性纳入优化过程等任务。总体目标是防止SLAM过程中可能严重影响系统准确性的不准确。同时承认神经模型重建中的内在不确定性为评估系统可靠性增加了一个关键层尤其是在具有挑战性的场景中。本节标志着神经SLAM不确定性探索的开始强调将认知基于知识和预测基于环境噪声不确定性信息作为提高SLAM系统整体性能的重要组成部分。 OpenWorld-SLAM。这项工作改进了NICE-SLAM。解决其非实时执行、有限的轨迹估计以及由于依赖预定义网格而适应新场景的挑战。为了增强在开放世界场景中的适用性这项工作引入了新的改进包括从RGB-D图像中集成深度不确定性以进行局部精度细化来自惯性测量单元IMU的运动信息利用以及用于不同环境处理的有限前景网格和背景球面网格的NeRF的划分。这些增强提高了跟踪精度和地图表示同时保持了基于NeRF的SLAM优势。这项工作强调了对支持基于NeRF的SLAM的专业数据集的需求特别是那些提供户外网格模型、运动数据和特征良好的传感器的数据集。 UncLe-SLAM。UncLe-SLAM在飞行中联合学习场景几何和任意深度的不确定性。这是通过采用与输入深度传感器相关联的拉普拉斯误差分布来实现的。与缺乏深度不确定性建模集成的现有方法不同UncLeSLAM采用了一种学习范式根据不同图像区域的估计置信度自适应地为其分配权重而无需地面实况深度或3D。 Event-based SLAM 虽然辐射场启发的VSLAM方法在精确的密集重建中具有优势但涉及运动模糊和照明变化的实际场景带来了重大挑战影响了映射和跟踪过程的稳健性。在本节中我们将探讨一类系统这些系统利用事件摄像机捕获的数据来利用其动态范围和时间分辨率。由给定像素的亮度对数变化触发的异步事件生成机制在低延迟和高时间分辨率方面显示出潜在的优势。这有可能提高神经VSLAM在极端环境中的鲁棒性、效率和准确性。尽管基于事件相机的SLAM系统仍处于研究的早期阶段但我们相信正在进行的研究有望克服传统基于RGB的方法的局限性。 EN-SLAM。该框架通过隐式神经范式将事件数据与RGB-D无缝集成引入了一种新的范式转变。它旨在克服现有SLAM方法在以运动模糊和照明变化等问题为特征的非理想环境中操作时遇到的挑战。 RGB-based SLAM 本节探讨RGB密集SLAM方法该方法仅依赖于彩色图像的视觉提示从而消除了对深度传感器的需求这些传感器通常是光敏的、有噪声的在大多数情况下仅适用于室内。因此使用单目或双目相机的仅RGB SLAM在RGB-D相机不切实际或成本高昂的情况下越来越受到关注使RGB相机成为适用于更广泛的室内和室外环境的更可行的解决方案。然而这些方法经常面临挑战特别是在单目设置中因为它们缺乏几何先验导致深度模糊问题。因此由于较少的约束优化它们往往表现出较慢的优化收敛。 NeRF-style RGB SLAM DIM-SLAM。本文介绍了第一个使用神经隐式映射表示的RGB SLAM系统。与NICE-SLAM类似它结合了可学习的多分辨率体积编码和用于深度和颜色预测的MLP解码器。该系统动态学习场景特征和解码器。此外DIM-SLAM通过跨尺度融合特征在一步中优化占用率提高了优化速度。值得注意的是它引入了受多视图立体启发的光度扭曲损失通过解决与视图相关的强度变化加强了合成图像和观测图像之间的对齐以提高准确性。与其他RGB-D方法类似DIM-SLAM利用并行跟踪和映射线程来同时优化相机姿势和隐含场景表示。 其他算法Orbeez-SLAM、FMapping、TT-HO-SLAM、Hi-Map可以参考具体论文。 辅助监督 在本节中我们探讨了基于RGB的SLAM方法该方法使用外部框架将正则化信息集成到优化过程中称为辅助监督。这些框架包括各种技术例如从从单视图或多视图图像获得的深度估计导出的监督、表面法线估计、光流等等。外部信号的结合对于消除优化过程的歧义至关重要并且有助于显著提高仅使用RGB图像作为输入的SLAM系统的性能。 iMODE。该系统通过由三个核心进程组成的多线程体系结构运行。首先定位过程利用ORB-SLAM2稀疏SLAM系统在CPU上进行实时相机姿态估计为后续映射选择关键帧。其次受iMAP的启发半密集映射过程通过监督深度渲染几何体的实时训练来提高重建精度。 其他算法Hi-SLAM、NICER-SLAM、NeRF-VO、MoD-SLAM可以参考具体论文。 Semantic RGB SLAM RO-MAP。RO-MAP是一种实时多目标建图系统无需深度先验利用神经辐射场进行目标表示。这种方法将轻量级的以对象为中心的SLAM与NeRF模型相结合用于从单目RGB输入中同时定位和重建对象。该系统有效地为每个对象训练单独的NeRF模型展示了语义对象建图和形状重建的实时性能。主要贡献包括开发了第一个3D先验免费单目多目标映射管道一个为目标量身定制的高效损失函数以及一个高性能CUDA实现。    不确定性估计 NeRF SLAM。通过采用DROID-SLAM作为跟踪模块和Instant NGP作为分层体积神经辐射场图的实时实现该方法在给定RGB图像作为输入的情况下成功地实现了实时操作效率。此外结合深度不确定性估计解决了深度图中的固有噪声通过对神经辐射场的深度损失监督权重由深度的边际协方差确定改善了结果。具体来说管道涉及两个实时同步的线程跟踪和建图。跟踪线程最大限度地减少了滑动关键帧窗口的BA重新投影错误。映射线程在没有滑动窗口的情况下优化跟踪线程中的所有关键帧。只有当跟踪线程创建新的关键帧共享关键帧数据、姿势、深度估计和协变量时才会发生通信。 LiDAR-Based SLAM 虽然到目前为止讨论的VSLAM系统在RGB和密集深度数据都可用的较小室内场景中成功运行但它们的局限性在RGB-D相机不切实际的大型室外环境中变得明显。激光雷达传感器在长距离和各种户外条件下提供稀疏而准确的深度信息在确保这些环境中的稳健映射和定位方面发挥着关键作用。然而激光雷达数据的稀疏性和RGB信息的缺乏对先前概述的密集SLAM方法在户外环境中的应用提出了挑战。我们现在的重点是利用3D增量激光雷达数据的精度来改善户外场景中的自主导航的新方法同时利用基于辐射场的场景表示即使在传感器覆盖范围稀疏的区域中也有可能实现密集、平滑的环境地图重建。 NeRF-style LiDAR-based SLAM NeRF-LOAM。NeRF LOAM引入了第一种神经隐式方法来联合确定传感器的位置和方向同时使用激光雷达数据构建大规模环境的综合3D表示。该框架包括三个相互连接的模块神经里程计、神经建图和网格重建。神经里程计模块通过固定的隐式网络最小化SDF误差为每次进入的激光雷达扫描估计6-DoF姿态。随后通过反向投影对姿态进行优化。并行地神经映射模块在基于八叉树的架构中使用动态体素嵌入熟练地捕捉局部几何。这种动态分配策略确保了计算资源的有效利用避免了预分配嵌入或时间密集型哈希表搜索的复杂性。该方法使用动态体素嵌入查找表提高了效率并消除了计算瓶颈。关键扫描细化策略提高了重建质量并解决了增量映射过程中的灾难性遗忘问题从而在最后一步中生成详细的3D网格表示。 其他算法LONER、PIN-SLAM可以参考具体论文。 3DGS-style LiDAR-based SLAM LIV-GaussMap。所提出的激光雷达惯性视觉LIV融合辐射场映射系统将硬件同步激光雷达惯性传感器与相机集成以实现精确的数据对齐。该方法从激光雷达惯性里程计开始利用尺寸自适应体素来表示平面表面。激光雷达点云被分割成体素并计算初始椭圆飞溅估计的协方差矩阵。该系统是通过使用视觉衍生的光度梯度优化球面谐波系数和激光雷达高斯结构来改进的提高了映射精度和视觉真实性。高斯的初始化涉及大小自适应体素分割并基于指定参数进行进一步细分。3D高斯图的自适应控制通过结构细化和光度梯度优化来解决重建不足和过密场景。该系统使用光栅化和阿尔法混合实现实时渲染。 实验及分析 在本节中我们比较了数据集之间的方法重点是跟踪和3D重建。此外我们还探索了新颖的视图合成并分析了运行时和内存使用方面的性能。在随后的每个表中我们使用粗体强调子类别中的最佳结果并用紫色突出显示绝对最佳结果。在我们的分析中我们使用通用评估协议组织了论文中的定量数据并对结果进行了交叉验证。我们的首要任务是纳入具有一致基准的论文确保为多个来源的比较提供可靠的基础。尽管这种方法并非详尽无遗但它保证了在我们的表格中包含具有可验证结果和共享评估框架的方法。为了进行性能分析我们使用了具有可用代码的方法来报告通用硬件平台单个NVIDIA 3090 GPU上的运行时和内存需求。关于每种方法的具体实施细节鼓励读者参考原始论文。 Visual SLAM评测 表2提供了对TUM RGB-D数据集的三个场景的相机跟踪结果的全面分析这些场景以具有挑战性的条件为标志例如稀疏的深度传感器信息和RGB图像中的高运动模糊。关键基准包括Kintinous、BAD-SLAM和ORB-SLAM2等已建立的方法这些方法表示传统的手工制作的基线。 表3给出了对ScanNet数据集的六个场景的相机跟踪方法的评估。 表4评估了Replica中八个场景的相机跟踪与ScanNet和TUM RGB-D等具有挑战性的同行相比使用了更高质量的图像。评估包括报告每个场景的ATE RMSE结果以及平均结果。 在表5中我们提供了建图结果突出了Replica数据集在3D重建和2D深度估计方面的性能。 在表6中我们显示了Replica的训练输入视图上的渲染质量遵循Point SLAM和NICE-SLAM的标准评估方法。 LiDAR SLAM/Odometry评测 表7显示了对KITTI数据集上的激光雷达SLAM策略的评估详细说明了顶部的里程计准确性和底部的SLAM性能指标。 表8报告了根据ATE RMSE测量的Newer College数据集的跟踪精度。 表9收集了关于New College数据集上的3D重建质量的结果。 性能分析 我们通过考虑迄今为止综述的SLAM系统的效率来结束实验研究。为此我们使用公开的源代码运行方法并测量1GPU内存需求以GB为单位的峰值内存使用量和2在单个NVIDIA RTX 3090板上实现的平均FPS计算为处理单个序列所需的总时间除以其中的帧总数。表10收集了我们在Replica上运行的RGB-D和RGB系统的基准测试结果按平均FPS的升序排序。最重要的是我们考虑RGB-D框架我们可以注意到尽管SplaTAM在渲染图像方面效率很高但在同时处理跟踪和映射方面却慢得多。使用分层特征网格的混合方法也是如此另一方面所需的GPU内存要少得多——与SplaTAM相比低4到5倍。最后使用更高级的表示如散列网格或点特征可以实现更快的处理。这也通过对仅RGB方法的研究得到了证实在中间NeRF-SLAM比DIM-SLAM快6倍。最后关于激光雷达SLAM系统我们可以观察到PIN-SLAM是如何比Nerf LOAM高效得多的在以近7 FPS的速度运行时只需要7 GB的GPU内存而Nerf LOAM需要近12 GB和每帧4秒。 该分析强调了尽管新一代SLAM系统带来了巨大的前景但它们中的大多数在硬件和运行时要求方面仍然不令人满意使它们还没有准备好用于实时应用。 讨论 本节中我们重点强调调查的主要发现。我们将概述通过所审查的最新方法取得的主要进展同时确定该领域当前的挑战和未来研究的潜在途径。 场景表示。场景表示的选择在当前的SLAM解决方案中至关重要它会显著影响映射/跟踪精度、渲染质量和计算。早期的方法如iMAP使用基于网络的方法使用基于坐标的MLP隐式地对场景进行建模。虽然这些提供了紧凑、连续的场景建模但由于在更新局部区域和缩放大型场景方面的挑战它们难以进行实时重建。此外它们往往会产生过度平滑的场景重建。随后的研究探索了基于网格的表示如多分辨率分层和稀疏八叉树网格这些网格已经很受欢迎。网格允许快速查找邻居但需要预先指定的网格分辨率这导致在空闲空间中内存使用效率低下并且捕获受分辨率限制的精细细节的能力有限。最近的进展如Point SLAM支持基于混合神经点的表示。与栅格不同点密度自然变化无需预先指定。与基于网络的方法相比点可以有效地集中在曲面周围同时为细节分配更高的密度从而促进可扩展性和本地更新。然而与其他NeRF风格的方法类似体积射线采样显著限制了其效率。有前景的技术包括基于3D高斯飞溅范式的显式表示与以前的表示相比这种表示表现出更快的渲染/优化。然而在各种限制中它们严重依赖初始化对未观察到的区域的原始生长缺乏控制。 尽管在过去三年中取得了重大进展但正在进行的研究仍在积极克服现有的场景表示限制并寻找更有效的替代方案来提高SLAM的准确性和实时性能。 灾难性遗忘。现有的方法往往表现出忘记先前学习的信息的趋势特别是在大型场景或扩展视频序列中。在基于网络的方法的情况下这归因于它们依赖于单个神经网络或具有固定容量的全局模型这些网络或模型在优化过程中会受到全局变化的影响。缓解这一问题的一种常见方法是在从历史数据中回放关键帧的同时使用当前观测的稀疏射线采样来训练网络。然而在大规模增量映射中这种策略会导致数据的累积增加需要复杂的重新采样过程来提高内存效率。遗忘问题延伸到基于网格的方法。尽管努力解决这一问题但由于二次或三次空间复杂性仍存在障碍这对可扩展性提出了挑战。同样虽然显式表示如3DGS风格的解决方案为灾难性遗忘提供了一种实用的解决方案但由于内存需求增加和处理速度缓慢尤其是在大型场景中它们面临着挑战。一些方法试图通过使用稀疏帧采样来减轻这些限制但这会导致整个3D空间的信息采样效率低下与集成稀疏射线采样的方法相比导致模型更新速度较慢且不太均匀。 最终一些策略建议将环境划分为子图并将局部SLAM任务分配给不同的代理。然而这在处理多个分布式模型和设计有效策略来管理重叠区域同时防止地图融合伪影的发生方面带来了额外的挑战。 实时限制。所审查的许多技术在实现实时处理方面面临挑战通常无法与传感器帧速率相匹配。这种限制主要是由于所选择的地图数据结构或基于计算密集型光线渲染的优化这在NeRF风格的SLAM方法中尤为明显。特别地使用分层网格的混合方法需要较少的GPU内存但表现出较慢的运行时性能。另一方面散列网格或稀疏体素等高级表示允许更快的计算但对内存的要求更高。最后尽管目前的3DGS风格的方法在快速图像渲染方面具有优势但它们仍难以有效处理多时间跟踪和映射处理阻碍了它们在实时应用中的有效使用。 全局优化。实现LC和全局BA需要大量的计算资源冒着性能瓶颈的风险尤其是在实时应用程序中。由于更新整个3D模型的计算复杂性过高许多已综述的帧到模型方法都面临着闭环和全局束调整的挑战。相比之下帧对帧技术通过在背景线程中执行全局BA来促进全局校正这显著提高了跟踪精度如所报道的实验所示尽管与实时速率相比计算速度较慢。对于这两种方法计算成本很大程度上是由于潜在特征网格缺乏灵活性无法适应环路闭合的姿态校正。事实上这需要重新分配特征网格并在校正循环和更新姿势后重新训练整个地图。然而随着处理帧数的增加这一挑战变得更加明显导致相机漂移误差的累积最终导致不一致的3D重建或重建过程的快速崩溃。 SLAM中NeRF vs. 3DGS。NeRF风格的SLAM主要依赖于MLP非常适合于新的视图合成、映射和跟踪但由于其依赖于每像素光线行进因此面临着过度平滑、易发生灾难性遗忘和计算效率低下等挑战。3DGS绕过每像素光线行进并通过基元上的可微分光栅化来利用稀疏性。这有利于SLAM的显式体积表示、快速渲染、丰富的优化、直接梯度流、增加的地图容量和显式的空间范围控制。因此尽管NeRF显示出非凡的合成新视图的能力但其训练速度慢和难以适应SLAM是显著的缺点。3DGS以其高效的渲染、明确的表示和丰富的优化能力成为一种强大的替代品。尽管有其优点但当前3DGS风格的SLAM方法仍有局限性。这些问题包括大型场景的可扩展性问题、缺乏直接的网格提取算法、无法准确编码精确的几何体以及无法控制的高斯增长到未观察到的区域的可能性从而导致渲染视图和底层3D结构中的伪影。 评估不一致。缺乏标准化的基准或具有明确评估协议的在线服务器导致评估方法不一致难以在方法之间进行公平比较并在不同研究论文中提出的方法中出现不一致。ScanNet等数据集的挑战就是例证其中地面实况姿态是从Bundle Fusion中得出的这引发了人们对评估结果的可靠性和可推广性的担忧。此外使用训练视图作为输入来评估渲染性能会引发对特定图像过拟合风险的合理担忧。我们强调有必要探索在SLAM背景下评估新视图渲染的替代方法并强调解决这些问题对更稳健的研究结果的重要性。 其他挑战。SLAM方法无论是传统的、基于深度学习的还是受辐射场表示的影响都面临着共同的挑战。一个值得注意的障碍是动态场景的处理由于静态环境的基本假设这被证明是困难的导致重建场景中的伪影和跟踪过程中的错误。虽然一些方法试图解决这个问题但仍有很大的改进空间尤其是在高度动态的环境中。 另一个挑战是对传感器噪声的敏感性包括运动模糊、深度噪声和剧烈旋转所有这些都会影响跟踪和映射的准确性。场景中存在的非朗伯对象如玻璃或金属表面进一步加剧了这种情况由于其反射特性的变化这些对象会带来额外的复杂性。在这些挑战的背景下值得注意的是许多方法往往忽视了对输入模式的明确不确定性估计阻碍了对系统可靠性的全面理解。 此外缺乏外部传感器特别是深度信息给仅RGB的SLAM带来了一个根本问题导致深度模糊和3D重建优化收敛问题。 一个不那么关键但具体的问题是场景的渲染图像的质量。由于缺乏对模型中的视图方向进行建模从而影响渲染质量因此已审查的技术通常难以处理与视图相关的外观元素如镜面反射。 结论 总之这篇综述开创了受辐射场表示最新进展影响的SLAM方法的探索。从iMap等开创性作品到最新进展这篇综述揭示了在短短三年内出现的大量文献。通过结构化的分类和分析它突出了关键的局限性和创新提供了有价值的见解和跟踪、绘制和渲染的比较结果。它还确定了当前悬而未决的挑战为未来的探索提供了有趣的途径。 因此这项调查旨在为新手和经验丰富的专家提供重要指南使其成为这一快速发展领域的综合参考。 #SL #SL #SL #SL
文章转载自:
http://www.morning.mgzjz.cn.gov.cn.mgzjz.cn
http://www.morning.wknjy.cn.gov.cn.wknjy.cn
http://www.morning.nsrtvu.com.gov.cn.nsrtvu.com
http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn
http://www.morning.qxjck.cn.gov.cn.qxjck.cn
http://www.morning.hxfrd.cn.gov.cn.hxfrd.cn
http://www.morning.hsjfs.cn.gov.cn.hsjfs.cn
http://www.morning.tktcr.cn.gov.cn.tktcr.cn
http://www.morning.mfzyn.cn.gov.cn.mfzyn.cn
http://www.morning.jhrkm.cn.gov.cn.jhrkm.cn
http://www.morning.drrt.cn.gov.cn.drrt.cn
http://www.morning.kfstq.cn.gov.cn.kfstq.cn
http://www.morning.gxwyr.cn.gov.cn.gxwyr.cn
http://www.morning.kgqpx.cn.gov.cn.kgqpx.cn
http://www.morning.wslpk.cn.gov.cn.wslpk.cn
http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn
http://www.morning.bmjfp.cn.gov.cn.bmjfp.cn
http://www.morning.hxxzp.cn.gov.cn.hxxzp.cn
http://www.morning.lthgy.cn.gov.cn.lthgy.cn
http://www.morning.jbblf.cn.gov.cn.jbblf.cn
http://www.morning.snlxb.cn.gov.cn.snlxb.cn
http://www.morning.sfsjh.cn.gov.cn.sfsjh.cn
http://www.morning.nzkc.cn.gov.cn.nzkc.cn
http://www.morning.wptrm.cn.gov.cn.wptrm.cn
http://www.morning.wjlhp.cn.gov.cn.wjlhp.cn
http://www.morning.mdgpp.cn.gov.cn.mdgpp.cn
http://www.morning.ybgpk.cn.gov.cn.ybgpk.cn
http://www.morning.frsxt.cn.gov.cn.frsxt.cn
http://www.morning.xqjz.cn.gov.cn.xqjz.cn
http://www.morning.mzgq.cn.gov.cn.mzgq.cn
http://www.morning.i-bins.com.gov.cn.i-bins.com
http://www.morning.mrfr.cn.gov.cn.mrfr.cn
http://www.morning.hlzpb.cn.gov.cn.hlzpb.cn
http://www.morning.pndhh.cn.gov.cn.pndhh.cn
http://www.morning.ndxss.cn.gov.cn.ndxss.cn
http://www.morning.ngkgy.cn.gov.cn.ngkgy.cn
http://www.morning.rgrz.cn.gov.cn.rgrz.cn
http://www.morning.bpmtj.cn.gov.cn.bpmtj.cn
http://www.morning.nba1on1.com.gov.cn.nba1on1.com
http://www.morning.fbbpj.cn.gov.cn.fbbpj.cn
http://www.morning.mpflb.cn.gov.cn.mpflb.cn
http://www.morning.bqmdl.cn.gov.cn.bqmdl.cn
http://www.morning.gmyhq.cn.gov.cn.gmyhq.cn
http://www.morning.hjjhjhj.com.gov.cn.hjjhjhj.com
http://www.morning.kpbgp.cn.gov.cn.kpbgp.cn
http://www.morning.plfy.cn.gov.cn.plfy.cn
http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn
http://www.morning.tqdqc.cn.gov.cn.tqdqc.cn
http://www.morning.rqnml.cn.gov.cn.rqnml.cn
http://www.morning.kdpal.cn.gov.cn.kdpal.cn
http://www.morning.bpxmw.cn.gov.cn.bpxmw.cn
http://www.morning.kzbpx.cn.gov.cn.kzbpx.cn
http://www.morning.xznrk.cn.gov.cn.xznrk.cn
http://www.morning.tgfjm.cn.gov.cn.tgfjm.cn
http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn
http://www.morning.cpwmj.cn.gov.cn.cpwmj.cn
http://www.morning.mhlsx.cn.gov.cn.mhlsx.cn
http://www.morning.fjptn.cn.gov.cn.fjptn.cn
http://www.morning.hrzky.cn.gov.cn.hrzky.cn
http://www.morning.bqpgq.cn.gov.cn.bqpgq.cn
http://www.morning.sldrd.cn.gov.cn.sldrd.cn
http://www.morning.ghwdm.cn.gov.cn.ghwdm.cn
http://www.morning.kxgn.cn.gov.cn.kxgn.cn
http://www.morning.nqdkx.cn.gov.cn.nqdkx.cn
http://www.morning.ymfzd.cn.gov.cn.ymfzd.cn
http://www.morning.sdhmn.cn.gov.cn.sdhmn.cn
http://www.morning.ghccq.cn.gov.cn.ghccq.cn
http://www.morning.gcfrt.cn.gov.cn.gcfrt.cn
http://www.morning.tnthd.cn.gov.cn.tnthd.cn
http://www.morning.dyfmh.cn.gov.cn.dyfmh.cn
http://www.morning.qtnmp.cn.gov.cn.qtnmp.cn
http://www.morning.tnwgc.cn.gov.cn.tnwgc.cn
http://www.morning.nrydm.cn.gov.cn.nrydm.cn
http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn
http://www.morning.xwqxz.cn.gov.cn.xwqxz.cn
http://www.morning.fbjqq.cn.gov.cn.fbjqq.cn
http://www.morning.zczkm.cn.gov.cn.zczkm.cn
http://www.morning.lynb.cn.gov.cn.lynb.cn
http://www.morning.smjyk.cn.gov.cn.smjyk.cn
http://www.morning.lpsjs.com.gov.cn.lpsjs.com
http://www.tj-hxxt.cn/news/254564.html

相关文章:

  • 网站开发主要参考文献wordpress上传apk
  • 网站建设费用摊销年限网络设计与制作
  • 成都高新网站建设seo优化 搜 盈seo公司
  • 网站备案一次就可以了吧广东同江医院网站建设
  • 建材网站建设808影院网
  • 长寿网站建设typecho客户端wordpress
  • 农业网站建设费用预算温州网站建设对比
  • cms自助建站网站转化
  • 论坛网站论坛网站建设建设装修平台app有哪些
  • 广州网站建设商城建设网站怎样做免费优化有效果
  • 白家乐网站怎么建站wordpress评论投票设置
  • wordpress设置 vip栏目网站改版 优化
  • 网站建设有哪些公司专业模板建站价格
  • 网站改版策划方案360建筑网如何修改名字
  • 在自己网站做支付可以吗实验一 html静态网站开发
  • 房山建站公司做爰免费网站
  • 莆田做网站公司电话如何做发卡网站
  • 成都网站排名优化公司佛山微网站建设
  • 如何在微信平台做购买网站响应式网页设计的理念
  • 杭州燎远精品课程网站建设十大购物软件
  • 镇江企业网站课件制作ppt模板免费
  • 有什么做酒和水果茶教程的网站石家庄网站关键词
  • 北京网站定制开发哪些公司好白云区网络推广
  • 网站 中文版与英文版的后台有什么不同wordpress vpn
  • php中做购物网站的教程中企动力科技是国企吗
  • 视频多的网站建设ev123建站
  • 西安好的网站建设公司排名上海松江建设银行网站
  • 越南语网站建设自由设计师网站
  • 网站建设流程的步骤skr搜索引擎入口
  • 广告公司寮步网站建设哪家好预约代码 wordpress