Skip to content
Sean Higgins 2020年7月21日 1 min read

SLAM 技术对扫描精度的影响及改进

让我们来探讨一下关于 SLAM 技术工作原理的基本知识,以及一些确保顶级移动扫描结果的实用技巧。

移动扫描的优势在扫描领域众所周知。与传统的架站仪(TLS)相比,移动扫描设备可以更好的覆盖扫描面积并加速工作流程,这也意味着可以减少服务供应商在现场的工作时间,并减低扫描成本。

但对于经验丰富的 3D 扫描“老司机”来说,移动扫描系统所提供的数据似乎被认作为“不靠谱”的存在,特别是当你的业务对数据精度要求非常精准的情况下。这是因为移动扫描系统依赖于 SLAM——同时定位与地图构建,它会自动执行很大一部分的扫描工作流程。这一自动化让很多传统扫描专家难以理解一个移动扫描系统到底是如何生成最终的点云的,或者一个现场技术人员将如何规划他们的工作流程以确保高质量的交付成果。

而本篇文章,小编将于大家一起打开黑匣子,探索关于 SLAM 不为(大部分)人知的细节。我们这里将解开这个技术的面纱,与大家一起分享其如何影响最终点云的精准度,以及最后,我们会分享一些技巧来帮助您在现实项目中确保更精准的扫描结果。

SLAM 究竟是什么?

SLAM(simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位,它是一种算法,用于将来自您的移动扫描系统的传感器(激光雷达、RGB 相机、IMU 等等)所捕捉的数据进行融合,并确定您在建筑物中移动时的扫描轨迹。

以下是对其工作方式的简化解释:当您在初始化系统时,SLAM 算法会使用传感器数据和计算机视觉技术来观察周围环境,并精准地估计您的当前位置。

当您在移动时,SLAM 将根据您所在之前位置的估算值,并与系统传感器所回传的数据值相对比,重新计算您的当前位置。

将此过程不断重复,SLAM 系统将最终跟踪您在建筑物中所行驶的路径。

SLAM 是一个很复杂的过程——即使是以上的简述也显得有些复杂,但您可以将它想象成测绘方法所说的“穿越法”。穿越法(traverse method)是指,测绘人员沿着观察路线对于许多点进行测量。测绘人员测量各个点时,他们会利用之前的点作为测量的基准。

SLAM 算法类似于这种方法,只是它每秒测量的数据量更大。换句话说,SLAM 算法是一种精密的技术,在移动时可以自动记录路线。

MicrosoftTeams-image (9)

SLAM 对扫描精度的影响

想要了解一个基于 SLAM 算法的设备的扫描精度,你需要了解移动扫描系统究竟是如何捕捉数据的。

一个架站仪(TLS)在捕捉一个环境时通过360°旋转一个激光传感器从而测量其周边环境的。由于它从一个固定的点来采集数据,它所捕获的点云中的每个测量值都已经在空间中精确地进行了校准。

一个移动扫描系统也是一个360°旋转的激光传感器,但不会固定在一个位置。由于您是在移动(走路)过程中进行的扫描,同时传感器也在移动。 这就会导致每次测量的对齐出现误差,并降低最终点云的精度。

当我们在夜间照相的时候,若不小心挪动了照相机,就会造成照片模糊,其实是一个非常类似的现象。同理而言,当您看到未经 SLAM 算法处理过的移动扫描仪器捕获的原始数据时,您会发现这些点非常凌乱,在空间各处分散开来并且倍增。

移动扫描系统旨在纠正这些误差,并生成清晰、准确的点云。为了实现这一点,它使用了 SLAM 算法记录了扫描轨迹。这些数据使它能够确定在每次扫描设备的进行数据捕捉测量的位置,并在空间中准确的对齐这些点。

这也就意味着一个基于 SLAM 技术的移动扫描系统的精度不仅仅取决于传感器本身的精度,在很大程度上也取决于 SLAM 算法如何记录跟踪您的扫描轨迹。

SLAM 精度误差

开发 SLAM 算法来准确记录您的扫描轨迹并生成高质量的点云,制造商一直面临着一个具体大的挑战即如何客服两种主要误差。

第一种为跟踪误差。当 SLAM 算法在某些环境中会遇到一些问题时,即会产生跟踪误差。例如,长走廊通常缺乏 SLAM 所依赖的环境特征,就可能会导致系统无法跟踪您的所在位置。

第二种为偏移误差。发生偏移误差是因为 SLAM 算法利用传感器数据来计算您的位置,并且所有传感器都会产生测量误差。由于 SLAM 算法特殊的计算方式——基于之前位置来计算每个位置,例如“穿越法”——传感器产生的错误会在扫描过程中累积起来。最终导致扫描轨迹的准确性的“偏移误差”从而影响最终扫描结果的质量 。

如果您使用的是早期的移动扫描系统,这些错误很可能会影响您的最终数据的质量。

Blog_Post_Pics_drift-floor-1

从工作流程中确保高质量结果

好消息是移动扫描系统自进入市场以来不断改进,已经变得成熟。制造商开发了成熟的 SLAM 算法来自动减少跟踪误差及偏移误差。移动扫描者还可以利用可靠的工作流程来手动更正错误,因此您可以最大限度地提高最终获取地的点云质量。

最为流行的工作流程叫做闭环扫描。执行闭环扫描,只需要简单的回到一个之前扫描过的点,然后 SLAM 将会识别这个重叠点。此步骤提供了其所需地的信息来计算已发生的任何偏移误差或跟踪误差并进行纠正。你可以把闭环扫描看作一个自动结束一圈扫描的过程。

尽管闭环扫描在大型空间中(譬如健身房、室外区域、甚至大型办公室)是有效的,但某些环境会使闭环扫描变得异常困难,譬如上述所说的长走廊。

对于这些情况,更先进的移动扫描系统提供了利用控制点来锁定扫描数据的功能。这个过程也非常简单:即在整个要扫描的建筑物中放置测量控制点(靶点坐标)。利用一个比移动扫描系统精准度更高的系统譬如说全站仪捕捉其坐标。

在您扫描建筑物的同时,捕捉这些控制点。移动扫描系统会利用这些信息将捕捉的点云进行处理,减少误差,并确保在异常困难的环境中也可以生成测绘级精度的点云。当精度至关重要的时候,扫描者可以使用这个方式。

Loop-closure

SLAM 算法至关重要

需要注意的是,每个制造商在其移动扫描系统中都有自己专有的 SLAM 算法。每一个算法在表面上看起来都非常相似,但它们之间的差异可能意味着最终数据的质量会有巨大的差异。

这也是为什么,为确保高质量的扫描结果,您在购买过程中需要研究每个移动扫描系统,并了解背后的 SLAM 算法的具体细节。

了解其 SLAM 算法支持哪些方法来更正误差。譬如说是否可以使用“闭环扫描”,或者是“控制点”?这些方式在您扫描的环境下的工作表现如何?制造商之间是如何沟通用这些方法来获得绝对精度和相对精度的?

了解在特殊环境下,SLAM 算法的性能如何。例如在长走廊这种情况下所获得的精度如何?又譬如在大型开放区域?其算法是如何处理反射表面的?或相对于移动物体,譬如说路过的行人的处理又是如何?在不同的环境下表现都会很好吗?

此类问题的答案,将会告诉您在使用其移动扫描设备时所能期望的数据质量,并帮助您找到一种适应您的日常工作中不同环境下可以使用的设备。

总结

SLAM 算法使用传感器数据来自动跟踪您的移动扫描仪在资产中行走的轨迹。扫描软件则利用这些数据将您的点云在空间中对准。

出于 SLAM 算法的工作方式,移动扫描技术本质上容易出现一些特定的误差——包括跟踪误差和漂移误差——这可能会降低你最终点云的精确度。

尽管如此,用户还是可以在很大程度上把控最终交付物的质量。通过投资移动扫描系统,在扫描过程中有效地减少误差,执行必要的工作流程步骤并手动纠正错误,测绘专业人士可以生成企业能够信赖的高质量数据结果。

想了解我们对 NavVis M6  NavVis VLX 在各种挑战性环境中的精度验证的测试数据,并查看我们的 SLAM 闭环扫描和控制点如何提高最终扫描结果质量,请在此下载我们的白皮书

Sean Higgins 是一位自由的技术写作专家,曾是贸易出版物编辑,也是户外运动爱好者。他认为清晰的、无流行语的3D技术写作是一项公共服务。