vslam论文20:结构规则辅助具有新坐标对齐和线三角化的VIO(RAL 2022)

摘要

        人造建筑具有结构规律性,这为视觉惯性里程计(VIO)系统提供了强烈的几何约束。为了充分利用结构信息,在曼哈顿世界假设下,我们提出了一种新的结构规则辅助VIO,采用新颖的坐标对准和线三角剖分。提出的VIO系统建立在OpenVINS之上,部分基于我们以前的工作。所提出的坐标对准方法不仅使雅可比矩阵和重投影误差变得简洁,而且减少了变换所需的计算量。此外,提出了一种新的结构线三角剖分方法,该方法利用结构线的全局方向来细化其三维位置。所有这些新特性都使VIO系统更加准确和快速。该系统在EuRoC MAV数据集和自采集数据集上进行了测试。实验结果表明,与最先进的(SOTA)基于点的系统(VINS-Mono和OpenVINS)、基于点线的系统(PL-VINS和Wei等人)和基于结构线的系统(StructVIO)相比,该方法获得了更好的精度。值得注意的是,自收集的数据集记录在曼哈顿的世界场景中,并且还充满了具有挑战性的弱纹理和运动模糊情况。在数据集上,与基于SOTA点线的系统相比,我们的方法的准确率提高了40.7%。

论文地址:Structural Regularity Aided Visual-Inertial Odometry With Novel Coordinate Alignment and Line Triangulation | IEEE Journals & Magazine | IEEE Xplore

I.引言

本文的主要贡献如下:

(1)提出了一种有效的利用结构信息的坐标对齐方法,将整体框架与建筑物的主导方向对齐。这种对齐减少了所需的变换次数,大大简化了雅可比矩阵的计算和重投影误差,从而提高了VIO系统的精度、速度和计算量。

(2)提出了一种新的结构线三角剖分算法,该算法利用结构线的全局方向来细化结构线的三维位置。更精确的线路位置导致更精确的VIO系统。

(3)结合上述坐标对准方法和结构线三角剖分算法,利用点特征和结构线特征,提出了一种VIO系统。该系统建立在OpenVINS[1]之上,部分基于我们之前的工作[2]。特别是,给定的二维投影参数和精确的线分类使结构线的处理变得更加容易。

(4)我们将我们的方法插入到OpenVINS中进行实验。结果表明,与基于SOTA点的系统(VINS-Mono和OpenVINS)、基于点线的系统(PL-VINS和Wei等)和基于结构线的系统(StructVIO)相比,该方法获得了最好的精度,这得益于所提出的新颖性。

III. 系统概述

        如图2所示,所提出的VIO系统包括四个主要过程:初始化、图像处理、传播和更新。本文的初始化过程包括经典的VIO初始化步骤和坐标对齐,这两个步骤将在第四节中介绍。第五节给出结构线的处理,第六节给出结构线三角剖分算法.

图2:提出的VIO系统概述。我们的系统建立在OpenVINS之上,部分基于我们之前的工作。蓝色填充框表示结构线特征的处理步骤,绿色填充框表示提出的坐标对准和结构线三角剖分算法。

IV. 坐标对准

        VIO初始化的目标是获得良好的惯性变量初始值:机体速度、重力方向和IMU偏差。在这一步之后,  我们可以得到从全局帧{G}到初始IMU帧{I0}的旋转。在曼哈顿的世界建筑中,主导方向提供了一个自然的坐标框架,称为建筑框架{B}。为了便于利用结构线,本文将曼哈顿世界主导方向定义为全局坐标({G}) X、Y、Z轴,将方向与轴线方向相同的线定义为结构线。我们通过精确计算图3中的角度θ,使{G}与建筑框架{B}对齐。

图3:其中X Y Z为建筑框架{B}的三个轴,X ' Y ' Z '为全局框架{G}的三个轴。左图为传统VIO初始化后的全局坐标{G},其中X′与X、Y′与Y之间存在任意角度θ,只有Z′轴与Z对齐。右图为所提出的坐标系对齐步骤后的坐标系,其中{G}的三个轴都与建筑框架{B}对齐。

        在VIO初始化后,我们使用[28]中的算法检测输入图像上的vp和结构线。值得注意的是,检测到的VPs的方向不确定。由于Z轴与重力对齐,所以也采用V-B节的方法求Z方向的VP。同时,我们监测X和Y方向的结构线的数量,以检查环境是否符合曼哈顿世界的假设。如果数值大于预设的阈值,则利用当前图像的X和Y方向上的vp来计算θ。与[25]不同的是,本文提出的对准方法的系统输入为vp。设表示当前图像上检测到的vp, K为相机的本征矩阵,ex, ey, ez为{G}中x, y, z的方向单位,其中:

         我们通过检查和vi之间的以下反余弦值来区分X方向的VP和两个水平VP:

        本文提出的坐标对准方法要求输入图像中至少包含曼哈顿世界的两个主导方向,且每个主导方向至少有两条线段。如果不满足上述条件,所提出的坐标对准方法可能会失败。此外,文献[27]中VPs检测算法的不良结果会导致坐标对准失败。在这种情况下,如果存在Z方向的结构线,则仍然可以使用它们进行状态估计,否则系统将退化为基于点的系统。此外,从开始到完成坐标对准大约需要2到3秒。如图4所示,我们将VIO的新全局帧的三个轴投影到图像上,与真实方向一致。

图4:新的全局框架的三个轴(对齐后)被投影到图像平面上,这说明全局框架{G}与建筑框架{B}对齐。图中蓝色、绿色和红色分别表示x轴、y轴和z轴的投影。 

V. 结构线处理

A.结构线参数化

        具有x方向的结构线可以与yz平面相交于一点。该点在yz平面上有二维坐标。用二维坐标作为该结构线的参数表示,称为该结构线的投影坐标。yz平面也称为该结构线的投影平面。这些类似于Y和Z方向的结构线。示例如图5所示。此外,我们使用第一估计雅可比矩阵技术来避免系统中的不一致性,因为结构线特征是在全局框架中参数化的。

 图5:曼哈顿世界场景的插图。蓝色线、绿色线、红色线分别为X、Y、Z方向的结构线。

B. 线的分类

        这一部分的目的是判断提取的线是否为构造线,并进一步对构造线进行分类。曼哈顿世界的三个VPs可以计算为:

        为了确定检测线的方向,我们从每个vi绘制一条射线到检测线的中点,并检查射线与检测线之间的角度。如果X, Y, Z方向的三个角度都超过了角度阈值(实际设置为3度),则检测到的线不是结构线。如果三个角度中的一个小于一个角度阈值,我们将检测到的线确定为对应VP方向的结构线。例如,如果一条检测线lj的中点为mj,且lj与连接vx和mj的线段夹角小于夹角阈值,则我们将lj识别为X方向的结构线。特别是,如果有多个角度小于角度阈值,我们选择角度最小的方向。

        此外,我们利用多帧方向一致性检查来提高结构线的识别精度。在n帧中观察到一条结构线L,从首次提取到跟踪失效。由于检测和分类过程中的错误,L可能会在不同的帧中被分类到不同的方向。假设大部分帧(k帧)都将L分类为X方向,只有当k/n大于0.75时,我们才会将L识别为X方向的结构线。否则,确定L为非结构线。图6为结构线分类结果。

图6:自采集数据集的Weak-texture Easy序列上的结构线分类结果,其中蓝、绿、红线为X、Y、Z方向上的分类结构线。 

C. 测量模型和雅可比矩阵

        在计算重投影误差之前,首先由结构线的投影坐标构造结构线的plucker坐标,然后计算结构线在像面上的投影。本文在前人研究的基础上,采用了投影线测量模型。不同之处在于,我们在新的全局框架下解析地推导了结构线的雅可比矩阵和重投影误差。对于一条结构线L,设q为其在空间中的二维参数化投影坐标,q为L与其在空间{G}中的投影平面的交点。我们可以得到Q如下:

最终得到分别是相机位姿和直线位置测量的雅可比矩阵。

 然后,可以使用结构线特征的测量来更新VIO系统。

VI. 结构线三角化

        为了利用所提出的基于滤波的VIO系统中的结构线特征,需要估计其三维线参数来线性化测量模型。对于结构线的特征,现有的三角剖分算法不能充分利用先验信息,可能产生不准确的结果。与非结构线相比,结构线的全局方向是已知的,可用于提高三角剖分精度。提出了一种新的结构线三角剖分方法,将三角剖分过程分为两步。首先,我们将直线视为非结构直线,计算其plucker矩阵,如[2]所示,然后根据结构直线的全局方向计算其二维参数化投影坐标。其次,基于Leverberg Marquardt (LM)算法对计算得到的投影坐标进行进一步优化。

A.初始化投影坐标

        这一部分的目的是计算一条结构线的初始投影坐标。在Section V-A中,投影平面经过坐标原点O,但如果结构线距离O较远,其plucker矩阵的小角度偏差就会导致较大的误差。因此,我们使用平行于投影平面的平面,并通过最新摄像机的位置作为替换。例如,从图像Cn可以观察到一条结构线L,其中Cn的光心位置记为。L的投影平面πP可表示为:

 L与投影平面的三维交点(齐次坐标)计算为:

 式中L *为L的plucker矩阵,则得到L的初始投影坐标为:

B.投影坐标细化

        上述得到的初始投影坐标可以通过非线性优化方法进一步细化到更精确的位置。在优化过程中,利用结构线的全局方向来细化其投影坐标。

我们将能量函数定义为:

VII. 实验 

        在本节中,我们在EuRoC MAV数据集和一个自收集数据集上评估了所提出的系统。我们选择了三个基于SOTA点的VIO/SLAM系统(VINS-Mono、ORBSLAM3、OpenVINS)、两个基于点线的VIO/SLAM系统(PL-VINS、Wei等)和一个基于结构线的VIO系统(StructVIO)进行比较。

A. EuRoC MAV数据集

B.自收集数据集

        我们将提出的VIO系统与三种基于点的算法和两种基于点线的算法进行比较,结果如表2所示。

        特别地,我们还对自采集的数据集进行了烧蚀实验。如表2所示,无论关闭哪一步,系统的精度都会急剧下降。特别是,如果我们禁用结构线三角剖分算法(w/o Opti.)的LM优化,误差将增加约0.097米,这证明了结构线的全局方向可以用来细化其三维位置。此外,当仅使用一帧图像来计算θ (w/o Align.)时,由于所提出的坐标对准方法失败,系统的误差平均增加了约0.669 m。原因是不准确的对齐结果会导致系统初始化状态变差。

        图7为基于弱纹理的基于点和结构线的VIO系统得到的结构线图简单的序列。线图是稀疏的,因为场景有更少的纹理。我们还可以观察到,X和Y方向的结构线(图中蓝色和绿色标记)小于Z方向的结构线(红色标记)。这种现象有两个原因。首先,场景中X和Y方向的线较少。其次,由于退化问题,X和Y方向的线难以进行三角剖分。图8显示了Wei等人和我们在Stairs Hard序列中的轨迹。有趣的是,由于结构的规律性,我们的方法在Z方向上的漂移较小。

图7:所提出的VIO系统对自采集数据集的弱纹理Easy序列的处理结果 

C. 运行时间评估

        最后,我们比较了所提出的系统、PL-VINS和我们之前的工作(Wei等)的计算时间。我们在弱纹理硬序列上运行它们并记录每一步的平均时间浪费。结果如表三所示

VIII. 结论

        本文提出了一种新的基于点和结构线的VIO系统,以利用曼哈顿世界环境中的结构规律。为了方便地利用结构信息,提出了一种新的坐标对齐算法。然后,我们的推导使二维参数化、雅可比矩阵和重投影误差的形式变得更加简洁。此外,我们还提出了一种新的结构线三角剖分方法,该方法利用结构线的全局方向来细化结构线的三维位置。所有这些新颖之处使VIO系统高效、精确,还可以输出几何线形图。在EuRoC MAV数据集和自收集数据集上对所提出的VIO系统进行了评估。实验结果证明,与目前最先进的基于点的系统(VINS-Mono和OpenVINS)、基于点线的系统(PL-VINS和Wei等)和基于结构线的系统(StructVIO)相比,该方法获得了更好的精度,这得益于所提出的新颖性。具体来说,这个自我收集的数据集是在严格的曼哈顿世界场景中记录的。在数据集中,我们的方法在准确率方面比我们之前的工作提高了约40.7%。特别是,我们的方法在基于点-线的系统中是最有效的。

        然而,提出的系统也有两个主要的局限性。首先,曼哈顿世界假设使我们的系统只能用于室内或城市场景。其次,本文提出的坐标对齐方法要求图像中包含曼哈顿世界的至少两个主导方向,且每个主导方向至少有两条线段。如果不满足上述条件,则此操作将失败。在这种情况下,如果存在Z方向的结构线,仍然可以使用。否则,系统将退化为基于积分的系统。在未来,我们计划研究如何将曼哈顿世界假设的问题最小化。我们还对使用结构线特征来构建结构平面和创建几何地图感兴趣。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值