文章:A Review of VSLAM Technology Applied in Augmented Reality
作者:Baihui Tang, Sanxing Cao
编辑:点云PCL
如有侵权联系删文。
摘要
随着互联网的发展,大数据、人工智能、虚拟现实、区块链和量子通信等新技术不断涌现并快速发展。增强现实作为新一代信息科学技术的重要前沿方向之一,融合了多媒体、传感器、新型显示技术、互联网和人工智能,正逐步成为各行业创新应用的新焦点。本文详细论述了近年来VSLAM技术的发展及其在增强现实中的应用,介绍了VSLAM技术的发展现状、经典方案以及各方案的具体系统架构。这些方案根据对视觉里程计、优化、回环检测和地图构建四个基本算法框架的不同处理方式进行区分,文章总结了当前的发展情况和存在的问题,并对未来的前景进行了展望。
主要贡献
在真实环境和虚拟环境之间的区域中,靠近真实环境的一端称为增强现实(AR),靠近虚拟环境的一端称为增强虚拟(Augmented Virtuality,AV),两者之间的区域被称为混合现实(Mixed Reality,MR)。而虚拟现实(Virtual Reality,VR)通过虚拟环境模拟真实场景,本质上也是一种增强虚拟,如图1所示
图1. 现实-虚拟连续系统
在增强现实中,三维场景的定义是实现真实场景与虚拟对象交互的关键。通过三维测量与建模技术重建真实场景,并利用三维点云来表示真实环境,从而将虚拟对象精确地融入真实场景中,为视觉、交互等方面的突破提供支持。增强现实技术主要包含三个核心方面:三维配准、虚拟与现实的融合真实性以及人机交互。其中,三维配准是实现有效增强现实的核心技术,它是虚拟融合效果真实可信的基础。
VSLAM技术的发展现状
SLAM 是指通过传感器对运动物体进行同时建图的过程,在运动过程中实现自我定位,并以适当方式对周围环境进行建模。常见的SLAM系统传感器包括激光雷达、惯性传感器和摄像机。其中,使用摄像机作为传感器的SLAM被称为视觉SLAM(VSLAM)。由于摄像机作为传感器具有采集丰富信息、较强的目标识别能力、高于雷达的分辨率、较低的成本、便携性强和操作简单等优点,越来越多的研究者开始关注并研究VSLAM技术。VSLAM技术逐渐从实验室研究走向实际应用。根据视觉传感器的类型,VSLAM 可分为单目视觉SLAM、双目视觉SLAM 和 RGB-D 深度摄像机SLAM。
图2. VSLAM的技术框架
图2展示了VSLAM的技术框架,这也是经典的SLAM框架。不同的系统在各模块中采用不同的技术方案。VSLAM主要由以下四个模块组成:视觉惯性里程计(Visual-Inertial Odometry,VIO)、优化(Optimization)、回环检测(Loop Closing)和建图(Mapping)。
1. 视觉惯性里程计(VIO)
VIO 将视觉传感器测量的信息与惯性测量单元(IMU)测量的信息融合,后者用于计算相邻时间帧之间传感器的运动关系,从而得到运动轨迹。获取相邻帧之间运动关系的方法主要有两种:直接法和特征点法。目前常用的支持VIO的算法包括 ORB-SLAM、SVO 和 DSO。根据是否将图像特征信息添加到状态向量中,可分为紧耦合和松耦合两种方式。紧耦合算法充分利用视觉传感器的数据,计算复杂但效果更优,因此是研究的重点方向。
2. 优化(Optimization)
优化模块处理SLAM过程中产生的噪声。后端接收不同时间点由视觉里程计测得的摄像机位置信息及回环检测信息,并确定全局一致的最优解,以生成统一的轨迹和地图。
3. 回环检测(Loop Closing)
回环检测主要解决误差累积问题,判断传感器当前环境是否与起点或之前某位置一致,从而决定是否更新环境地图,以纠正错误。
4. 建图(Mapping)
建图用于描述可能处于运动中的环境。构建的地图包括地标地图、度量地图、拓扑地图和混合地图。不同地图的应用取决于传感器类型、环境类型和特定任务需求。
图3展示了VSLAM的四个核心模块及其对应的研究领域。
图3. VSLAM的主要模块及相关算法
VSLAM经典方案
MonoSLAM--单目SLAM
MonoSLAM,也称为实时运动结构(Real-Time Structure from Motion),是第一个实时单目视觉SLAM系统。由A.J. Davison于2007年提出,MonoSLAM是一种通过单目摄像头在未知场景中恢复快速三维轨迹的实时算法,也是结构运动(SFM)方法在SLAM中的首次成功应用。它采用卡尔曼滤波(Kalman Filter)算法框架,通过单一计算线程逐帧更新摄像机姿态和地图。在MonoSLAM中,场景中的固定点被转换为视觉特征点,固定点的位置被转换为匹配的特征点,然后进行三角测量。当摄像机在空间中自由移动时,可以通过特征匹配确定摄像机的位置以及特征点的位置。
图4. MonoSLAM摄像机特征点及匹配图
图4右侧的黄色线条表示移动摄像机的轨迹,椭圆表示新添加特征点的不确定性。可以看到,虽然摄像机的位置已知,但地图上的特征点仍然稀疏,因此效果并不理想。这种方法的核心是在概率框架内在线生成稀疏但连续的地图。通过有效且稳健的算法解决主动映射与测量、摄像机平滑运动的一般运动模型、单目特征的初始化以及特征方向估计。这些算法可以在标准PC和摄像头上运行,因此MonoSLAM被广泛应用于机器人实时三维定位与建图,以及手持摄像头的在线增强现实应用中。
PTAM
PTAM(Parallel Tracking and Mapping,即并行跟踪与建图)是2007年提出的第一个将跟踪与建图分为两个线程的SLAM算法。作为基于关键帧的单目视觉SLAM算法,PTAM首次将前端和后端的概念区分开来,并在许多后续VSLAM系统设计中起到了引领作用,其核心是关键帧+BA(Bundle Adjustment)算法。它是第一个将非线性优化替代传统滤波器用作后端优化的方案。PTAM可以实现实时定位与建图,在虚拟平面上叠加物体,还提供了支持增强现实的库。
图5. 跟踪与建图的并行流程图
PTAM提出并实现了并行的跟踪与建图过程(图5)。跟踪部分需要对图像数据进行实时响应,而地图优化不需要实时计算,因此优化过程可以在后台较慢进行,并在需要时完成线程同步。跟踪线程包括快速特征提取、地图初始化、跟踪与定位、关键帧选择并添加到缓存队列以及重定位。建图线程包括局部优化、全局优化、从缓存队列提取关键帧到地图,以及支持点到地图变换的极线搜索。通过使用关键帧,PTAM避免了对每一帧图像进行详细处理,而是串联一些关键图像,并优化其轨迹与地图。
早期的SLAM优化多使用卡尔曼滤波器、扩展滤波器或粒子滤波器,而PTAM引入了基于最小二乘法的非线性算法进行优化,开创了VSLAM后端非线性优化的新方向。然而,由于PTAM没有实现回环检测,它适用于小场景的增强现实应用,而不适合处理大场景。
LSD-SLAM
LSD-SLAM(Large-Scale Direct Monocular SLAM)是一种基于直接法的大规模单目视觉同步定位与建图算法,于2014年提出。该算法能够构建大规模的全球一致环境地图。通过筛选大量像素对的基线立体匹配结果,可以获得高精度的姿态估计,并结合关键帧姿态图和相应的半稠密深度图实时构建三维场景地图。LSD-SLAM由三个主要模块组成:图像跟踪、深度图估计和地图优化,其流程图如图6所示。
LSD-SLAM能够可靠地进行图像跟踪与地图构建,可以成功跟踪长距离轨迹(约500米),且场景尺度变化较大。LSD-SLAM具有多功能性、鲁棒性和规模灵活性。
图 6. LSD-SLAM 三个模块
ORB-SLAM
ORB-SLAM(Oriented Brief SLAM)是一种基于ORB特征点的同步定位与建图算法,由Raul Mur-Artal、J.M. Montiel和Juan D. Tardos于2015年发表在IEEE Transactions on Robotics上。该算法能够在室内外场景中实时运行,并对运动物体具有鲁棒性。最初基于单目摄像头的ORB-SLAM,后来扩展到双目和RGB-D传感器。ORB-SLAM基于PTAM架构,新增了自动初始化和闭环检测功能,支持同一场景的重定位,并优化了关键帧选择与地图构建的方法。其系统架构如图7所示,包含跟踪、建图和闭环检测三个线程,在处理速度、跟踪效果和地图精度方面表现出色。然而,由于ORB-SLAM构建的地图是稀疏的,因此仅适合对地图密度要求较低的定位与跟踪任务。
图7 ORB-SLAM 架构
RGBD-SLAM
RGBD-SLAM是近年来最常用的VSLAM解决方案之一,根据RGB-D传感器的不同特点,可分为三类:
RGBD-SLAM实现难度较低,但其具体实现较复杂,深度摄像头或应用场景变化时需进行频繁调整。RGBD-SLAM常用于室内三维建模、AR/VR、机器人室内定位与导航、自动驾驶和无人机避障与建图。
常见RGBD-SLAM方案:
图8 RGBD-SLAM框架和主要算法
总结与展望
在前沿技术领域中,增强现实技术因其广泛的潜在应用和多样的发展方向,成为当前研究的热点之一。然而这一领域仍存在一些技术难点,主要集中在增强现实技术的三大核心问题:如何实现稳定且精准的虚拟三维注册、如何实现虚拟与现实的融合以及如何实现自然的人机交互。这些问题需要进一步的解决和优化。通过上述经典的VSLAM方案可以看出,基于单目摄像头的VSLAM技术缺乏场景深度信息,需要通过三角测量法或逆深度法来估算像素深度。然而由于估算信息存在尺度不确定性,这会导致定位误差和尺度漂移,从而引发定位不准确和三维重建效果不佳的问题。相比之下使用双目摄像头的VSLAM通过左右相机的图像匹配获取特征点,并通过视差估算深度信息。但基于RGB-D相机的VSLAM计算对相机精度要求较高。由于每帧都能提供深度图,基于RGB-D相机的VSLAM技术几乎不存在尺度漂移问题,同时比其他方法消耗更少的计算资源,因此受到越来越多的关注和研究。尽管如此,RGBD-SLAM仍存在一些问题需要解决,例如:摄像机运动过快、视场无遮挡、特征缺失以及光源干扰等。总的来说,基于VSLAM的增强现实系统十分复杂。尽管已经解决了一些关键问题并取得了良好的成果,但仍有许多方面需要进一步完善和优化。然而,随着技术的不断发展,预计会有越来越多成熟的解决方案涌现出来。