浙江大学提出的RD-VIO: 动态环境中稳健视觉惯性里程计增强现实技术

2023-11-24 15:19:41 浏览数 (2)

文章:RD-VIO: Robust Visual-Inertial Odometry for Mobile Augmented Reality in Dynamic Environments

作者:Jinyu Li , Xiaokun Pan , Gan Huang, Ziyang Zhang, Nan Wang, Hujun Bao, Guofeng Zhang

编辑:点云PCL

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。侵权或转载联系微信cloudpoint9527。

摘要

这项研究视觉或视觉惯性里程计系统在处理动态场景和纯旋转问题时的挑战。为了解决这两个问题,我们设计了一种新颖的视觉惯性里程计(VIO)系统,称为RD-VIO。首先引入了一种IMU-PARSAC算法,它在两个阶段的过程中能够强健地检测和匹配关键点。在第一个阶段通过视觉和IMU测量将地标与新的关键点进行匹配,然后收集匹配信息,指导第二阶段的内部关键点匹配。其次为了处理纯旋转问题,我们检测运动类型,并在数据关联过程中采用延迟三角化技术。将纯旋转帧制作成特殊的子帧,在解决视觉惯性捆集调整问题时,这些子帧为纯旋转运动提供了额外的约束,在公共数据集上评估了所提出的VIO系统,实验证明RD-VIO在动态环境中明显优于其他方法。

图1. 我们的RD-VIO可以在具有纯旋转运动的动态场景中稳健地工作,并且胜过其他最先进的VIO/VI-SLAM系统,如VINS-Mobile。

主要贡献

本文聚焦于通过两个方面增强VIO系统的鲁棒性:更好的移动关键点去除和强健的纯旋转处理,同时保持系统的轻量级。为了识别移动关键点,我们提出了一种新颖的算法IMU-PARSAC,它在两个阶段的过程中检测和匹配关键点。首先,在第一阶段使用视觉和IMU测量将已知地标与新的关键点进行匹配。然后从匹配结果中收集错误统计信息,用以指导第二阶段的内部关键点匹配。为了应对纯旋转问题,检测传入图像帧的运动类型。在数据关联过程中,采用了延迟三角化技术,推迟了在纯旋转情况下的地标三角测量。并且修改了滑动窗口设计,以重视纯旋转运动信息,确保始终保持关键帧具有足够的平移。将纯旋转帧制作成特殊的子帧,在解决视觉惯性捆绑调整时,它们为纯旋转运动提供了额外的约束。正如图1中所示,我们提出的VIO系统RD-VIO可以处理纯旋转运动和大型移动物体,这在其他VIO/VI-SLAM系统(如VINS-Mobile)中容易导致系统发散。我们在公共数据集上对所提出的系统进行了测试,并与许多最先进的VIO系统进行了比较。实验结果表明,我们的系统不仅能够产生准确的跟踪结果,而且在更为复杂的场景下表现出更强的鲁棒性。本文的主要贡献点包括:

  • 提出了一种新颖的IMU-PARSAC算法,用于检测和去除动态场景中的运动异常值,显著提高了跟踪的鲁棒性。
  • 引入了一种新颖的子帧策略,通过滑动窗口设计,有效减小了纯旋转运动下的漂移。
  • 将整个系统的源代码释放给社区,包括核心的VIO算法和用于移动AR演示的iOS项目,以促进研究和开发。

内容概述

首先采用了一个基准VIO系统,其基础是PVIO,但在使用时不包含平面先验,这个基准VIO系统也将用于后续的比较。我们的系统流程如图2所示。在这个基准系统的基础上进行了一些修改。实现了对纯旋转的检测,并进行了正确的三角化地标,随后将纯旋转帧组织成子帧,并相应地对姿态进行了优化。

图2. RD-VIO流程图

滑动窗口VIO:系统采用了滑动窗口方法。首先介绍了一个基于滑动窗口优化的基准VIO系统(Baseline-VIO),并定义了大部分符号。Baseline-VIO系统通过保留最近的若干关键帧在一个窗口中,进行捆集调整以融合视觉和惯性里程计,并且将不再需要的帧边缘化。这就好比一个多帧窗口沿时间滑动的过程。

滑动窗口优化:在跟踪的过程中保留了一定数量的最近关键帧和这些帧中观察到的地标,通过视觉惯性捆集调整,对这些关键帧和地标的状态进行优化。

初始化:VIO的初始化包括确定重力矢量、解决全局尺度以及确定初始状态,选取一系列初始帧,在这些帧上进行仅视觉的SfM,然后通过对齐IMU里程计和SfM结果解算重力矢量和初始尺度。最后使用完整的捆集调整来找到最佳的初始状态。

关键点跟踪:采用KLT算法来检测和跟踪关键点,如果一个关键点已经与地标相关联,通过将地标投影到新帧上来预测其落地位置,这个位置被用作KLT跟踪的初始位置,新帧的位姿通过积分IMU里程计进行外推。为了排除异常匹配,使用RANSAC来估计本质矩阵和单应矩阵。本质矩阵的RANSAC使用较小的误差阈值,旨在强制执行双目几何关系。而单应性RANSAC则采用较大的误差阈值,对于相对较小的运动,关键点的移动可以较宽松地用单应性来描述,在关键点跟踪之后,新帧将与滑动窗口进行配准。

异常值检测与去除

引入了IMU-PARSAC算法,利用IMU信息区分移动元素和静态背景,这种区分增强了VIO跟踪的鲁棒性。动态异常值去除方法分为两个阶段:一个基本的3D-2D匹配阶段(IMU-PARSAC)和一个可选的2D-2D匹配阶段,如图3所示。在初始阶段,我们将地图中的静态3D地标与新捕获图像的2D关键点对齐。IMU预积分预测当前姿态,引导3D-2D匹配过程。如果地标稀缺,新的地标将从2D-2D匹配中导出。之后从3D-2D阶段收集误差统计信息,为2D-2D PARSAC制定动态阈值。这种策略抵消了来自移动物体的可变误差。其核心旨在将IMU测量融合到鲁棒的参数估计算法框架中,并充分利用相机和IMU之间的协同效应。

图3. 移动异常值检测与去除策略:在强制性的3D-2D阶段,当前帧基于与上一帧的光流跟踪获得2D观测和3D点的初始匹配。经过IMU-PARSAC算法后,大多数异常值被滤除。在可选的2D-2D阶段,使用原始PARSAC算法逐帧匹配当前帧和滑动窗口中的关键帧。通过这种多视角交叉验证方法去除剩余的动态异常值。

纯旋转检测与延迟三角测量

由于消费级手机IMU传感器的噪声较大,我们设计了一种基于视觉的方法来检测纯旋转,在特征跟踪中增加了第三个RANSAC步骤。

实验

为了评估我们提出的方法的有效性以及VIO系统的稳健性,我们进行了一系列实验。在动态异常值去除策略方面,通过定性比较和分析IMU-PARSAC算法与其他算法。为了解决由纯旋转引起的系统状态估计降级问题,我们研究了在相机静止时的纯旋转检测性能和系统稳定性。最后在公开可用的数据集上对我们的方法与当前最先进的VIO/VI-SLAM算法进行了定量比较。在两个公共数据集上评估了我们的方法和其他最先进的系统。

  • EuRoC 数据集 是用于VIO和SLAM算法的基准数据集。它包含由配备有立体摄像机和同步IMU的微型无人机(MAV)捕获的高质量数据,覆盖了各种室内场景。该数据集提供了通过运动捕捉系统获取的地面真实姿势,使我们能够评估估计轨迹的准确性。
  • ADVIO 数据集 是一个专为评估视觉惯性算法而设计的开放式基准数据集。它包含各种真实场景,包括不同的室内/室外环境、光照条件和动态物体干扰,可用于评估各种算法的稳健性、准确性和实时性能。

异常值去除

对IMU-PARSAC在人工场景和公共数据集ADVIO上进行了定性和定量评估。

图7. 几种异常值去除方法的定性比较:(a) 使用IMU预积分预测的位姿识别异常值 (b) 传统的稳健估计器RANSAC (c) 动态物体分布 先验估计器PARSAC (d) 提出的IMU-PARSAC算法。我们可视化了2D观测,并根据内点掩码将它们标为绿色,将异常点标为红色。此外基于置信度,可视化了PARSAC和 IMU-PARSAC的相应区间。

EuRoC 数据集

表1列出了我们在这些算法上收集的所有 EuRoC 的 RMSE。与 Baseline-VIO 相比,SF-VIO 在许多序列上都显示出显著的改进。

我们在同一台配备 Intel i7-7700 CPU @3.6GHz 和 16G 内存的计算机上运行 VINS-Mono 和 RD-VIO。表3显示了不同组件的运行时间。

ADVIO 数据集

作为一个在现实世界环境中具有挑战性的数据集,我们发现我们提出的算法在 ADVIO数据集上表现良好,而大多数先前提到的算法都无法生存,包括当前的 SOTA 全 VI-SLAM 系统 ORB-SLAM3 和专门用于处理动态环境的最新 DynaVINS。除了我们的系统外,只有 VINS-Fusion 和 LARVIO 能够产生有意义的结果。表2列出了 ADVIO 数据集的准确性和完整性结果。与没有动态对象去除策略的 SF-VIO 相比,RD-VIO 在 ADVIO 数据集上显示出显著更好的 RMSE,并在 RD-VIOs1 和 RD-VIO 中大多数序列上实现了最佳准确性。

在线比较

表4显示了3种算法的绝对位置误差(APE)(以毫米为单位)及其相应的鲁棒性值,其中较小的值表示更好的性能。与 ARKit 和 ARCore 相比,我们的系统在静态场景中配准的 APE 稍微较大。然而,在快节奏的场景中,它与 ARKit 和 ARCore 表现相当。

图11显示了上述算法生成的轨迹以及由 VICON 记录的轨迹。可以清楚地观察到,在这些具有挑战性的场景中,RD-VIO 实现了更稳定和更健壮的跟踪。值得注意的是,ARKit 和 ARCore 都是全面的 VI-SLAM 系统。它们受益于广泛的工程优化,涵盖了硬件、软件和芯片级的增强。相比之下,我们的研究着重于打造一个在轻量和稳健之间取得平衡的紧凑型视觉惯性测距系统。

图11. A3 情况下的轨迹:VICON、ARCore、ARKit、RD-VIO(左)和 A4 情况下的轨迹(右)。为确保清晰可见,手动淡化了重叠区域。

移动 AR 应用程序

我们将 RD-VIO 部署到 iOS 平台并开发了一个简单的 AR 演示来展示其准确性和稳健性。我们使用分辨率为 640×480 的30 Hz 图像数据和由 iPhone Xs 捕获的每秒100次的角速度和加速度的 IMU 数据。RD-VIO 可以在移动设备上实时运行。虚拟的立方体和一些其他虚拟对象被插入到真实场景中。图12展示了两个 AR 示例。我们还将其与 VINS-Mobile 进行了比较,后者是最好的开源移动 AR 系统之一。它们都在 iPhone Xs 上运行。实验结果显示,RD-VIO 在纯旋转条件和动态场景方面都表现出更高的优势。

图12. 手机上的 AR 效果

总结

在本文中,我们提出了一种强大且新颖的视觉惯性里程计(VIO)系统,可以高效处理动态场景和纯旋转运动,通过使用 IMU-PARSAC 算法,以两阶段过程去除动态特征点,这种方法使我们的系统能够有效应对急剧变化的场景。对于纯旋转运动设计了一个子帧结构并使用延迟三角法。这两者在退化运动场景中都为我们带来了显著的改进。在 EuRoc 和 ADVIO 数据集上取得了明显优于基线的结果,证明了我们系统的有效性。我们的算法在计算成本上也表现良好,并能够在移动设备上实时运行。iPhone X 上的 AR 演示进一步展示了算法在具有挑战性场景中的稳健性。它还展示了该算法在移动 AR 应用领域的潜力。我们的系统仍然存在一些局限性。在设备长时间处于极具挑战性的场景中时,它可能表现不佳。特别是在没有有效视觉观测作为输入时,我们的系统将不可避免地失去跟踪。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork :基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达 GPS IMU 轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

易扩展的SLAM框架-OpenVSLAM

基于鱼眼相机的SLAM方法介绍

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

为分享的伙伴们点赞吧!

0 人点赞