干货 | SLAM 技术如何优化扫描精度
本文转载自NavVis Ltd
移动扫描的优势在扫描领域是众所周知的。与传统的架站仪(TLS)相比,移动扫描设备可以更好地涵盖扫描范围以及加速工作流程,这也意味着可以减少服务供应商在现场的工作时间,并降低扫描成本。
但对于经验丰富的 3D 扫描“老司机”来说,移动扫描系统所提供的数据似乎被认作为“不靠谱”的存在,特别是当你的业务对数据精度要求非常精准的情况下。
这是因为移动扫描系统依赖于SLAM——即时定位与地图构建 (simultaneous localization and mapping algorithms), 它会自动执行很大一部分的扫描工作流程。
这个自动化流程使得传统扫描专家很难理解移动扫描系统到底是如何生成最终的点云的,或者现场技术人员应该如何规划他们的工作流程以确保高质量的交付成果。
但移动扫描的数据质量究竟如何呢?
SLAM 究竟是什么?
NavVis
SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。
问题可以描述为:
将一个扫描仪器放入未知环境中的未知位置,是否有办法让扫描仪器一边移动一边逐步描绘出此环境完全的地图,所谓完全的地图(a consistent map)是指不受障碍行进到房间可进入的每个角落。
答案:
SLAM 是一种算法,用于融合您的移动扫描系统的传感器(激光雷达、RGB 相机、IMU 等等)所捕捉的数据,并最终确定您在建筑物中移动产生的扫描轨迹。
简而言之:当您在初始化系统时,SLAM 算法会使用传感器数据和计算机视觉技术来观察周围环境,并精准地估计您的当前位置。
使用NavVis设备在扫描过程中实时查看已扫描区域
当您在移动时, SLAM将根据您所在之前位置的估算值与系统传感器所回传的数据值进行对比,重新计算您的当前位置。将此过程不断重复,SLAM 系统将最终追踪您在建筑物中行走的路径。
SLAM 是一个很复杂的过程——即使上述简化的解释也有些复杂,但您可以将其想象为测绘方法中常说的“穿越法”。
穿越法(traverse method)是指,测绘人员会沿着观察路线对许多点进行测量,当测绘人员对每个点进行测量时,他们会利用之前的点作为测量的基准。
SLAM算法有点类似于这种方法只是它会在每秒进行大量的精准计算。换句话说,SLAM 算法是一种尖端的技术,在移动时自动执行路线穿越。
SLAM 之对扫描精度的影响
NavVis
想要了解一个基于SLAM 算法的设备的扫描精度,你需要了解移动扫描系统究竟是如何捕捉数据的。
一个架站仪(TLS) 在捕捉一个环境时通过激光传感器的360°旋转测量其周边环境。由于它是从一个固定的点来采集数据的,它所捕获的点云中的每个测量值都已经在空间中相对于扫描仪做了精准的对齐。
地面激光扫描仪
一个移动扫描系统 (Mobile mapping system)也是靠激光传感器的360°旋转,但不是从一个固定的位置。由于您是在移动(行走)过程中进行扫描,您在传感器旋转过程中,同时也在移动传感器。这会导致每次测量的对齐错误,并降低最终点云的精度。
NavVis 移动扫描设备:VLX & M6
当我们在夜间照相的时候,当您不小心挪动了照相机,就会造成照片模糊,其实是一个非常类似的现象。
夜间拍摄轻微挪动会导致照片模糊
同理而言,当您看到未经SLAM算法处理过的移动扫描仪器捕获的原始数据的时候,您会发现这些点非常的凌乱,并且在空间各处分散开来并且加倍的存在。
SLAM 之精度误差
NavVis
开发SLAM 算法来准确记录您的扫描轨迹并生成高质量的点云,制造商一直面临着一个具体大的挑战即如何纠正两种主要误差。
跟踪误差
TRACKING ERROR
当SLAM算法在某些环境中会遇到一些问题时,即会发生跟踪误差。例如,长走廊通常缺乏SLAM 所依赖的环境特征,就可能会导致扫描系统失去您所在位置的跟踪。
偏移误差
DRIFT ERROR
发生偏移误差是因为SLAM 算法利用传感器数据来计算您的位置,并且所有传感器都会产生测量误差。由于SLAM 算法的计算方式——基于之前位置来计算每个位置,例如“穿越法”——传感器产生的错误会在您扫描的过程中累积起来。最终导致了扫描轨迹的准确性的“偏移误差”从而影响了您最终扫描结果的质量 。
如果您是使用早期的移动扫描系统,这些错误很可能会影响您的最终数据的质量。
工作流确保高质量结果
NavVis
好消息是移动扫描系统自进入市场以来已经逐渐成熟。制造商开发了成熟的SLAM 算法来自动减少跟踪误差及偏移误差。并且移动扫描员可以遵循可靠的工作流程来手动更正误差,做到最大程度地提高最终获取的点云质量。
最为流行的工作流程叫做“闭环扫描”。执行“闭环扫描”,只需要简单地回到一个之前扫描过的点,然后SLAM 将会识别这个重叠点。此步骤提供了其所需的信息来计算已发生地任何偏移误差或跟踪误差并进行纠正。
此图说明了NavVis精度SLAM技术对扫描结果的影响。左图是以传统SLAM系统扫描的一条长走廊,可以看见明显的漂移误差 (Drift error)。蓝线轮廓展现了扫描设备的真实结构。右图则展现NavVis VLX/M6使用精度SLAM 科技大幅度提升扫描精度。
尽管闭环扫描在大型空间中(譬如健身房、室外区域、甚至大型办公室)是有效的,但某些环境会使闭环扫描变得异常困难,譬如上述所说的长走廊。
对于这些情况,更先进的移动扫描系统提供了一个功能及利用控制点来锁定扫描数据。
两种方式确保扫描精度:控制点 & 闭环扫描
这个过程也非常简单:即在整个要扫描的建筑物中放置测量控制点(靶点坐标)。
利用一个比移动扫描系统精准度更高的系统譬如说全站仪捕捉其坐标。
在您扫描建筑物的同时,捕捉这些控制点。移动扫描系统会利用这些信息将捕捉的点云进行处理,减少误差,并确保在异常困难的环境中也可以生成测绘级精度的点云。当精度至关重要的时候,扫描者可以使用这个方式。
SLAM 算法至关重要
NavVis
需要注意的是,每个制造商在其移动扫描系统中都有自己专有的SLAM算法。每一个算法在表面上看起来都非常相似,但它们之间的差异可能意味着最终数据的质量会有巨大的差异。
这也是为什么,为确保高质量的扫描结果,您在购买过程中需要研究每个移动扫描系统,并了解背后的SLAM算法的具体细节;了解其SLAM算法支持哪些方法来更正误差。
了解SLAM 算法支持哪些误差修正方式:是否支持“闭环扫描”,或者“控制点”?这些方式在您扫描的环境下的工作表现如何?制造商如何宣传通过这些方式您可以达到的局部精度和全局精度?
了解在特殊环境下,SLAM 算法的性能如何:例如在长走廊这种情况下所获得的精度如何?又譬如在大型开放区域?其算法是如何处理反射表面的?或相对于移动物体,譬如说路过的行人的处理又是如何?在不同的环境下表现都会很好吗?
此类问题的答案,将会告诉您在使用其移动扫描设备时所能期望的数据质量,并帮助您找到一种适应您日常工作中不同环境下可以使用的设备。
End
声明:部分内容来源于网络,仅供读者学术交流之目的。文章版权归原作者所有。如有不妥,请联系删除。