跳转至

具有负平面的相机姿态引导回环

0. 引言

在许多没有GPS的场景中,视觉惯性里程计(VIO)和视觉里程计(VO)往往会随着时间的推移而产生累积误差,而回环和位姿图优化可以帮助估计和消除漂移。但现有的VIO/VO方法很难支持大FoV相机,在2022论文"Attitude-Guided Loop Closure for Cameras with Negative Plane"中,作者提出了一种LF-VIO-Loop框架,它是一个支持大视场相机负平面的回环框架,提高了大FoV条件下回环的准确性。

1. 论文信息

标题:Attitude-Guided Loop Closure for Cameras with Negative Plane

作者:Ze Wang, Kailun Yang, Peng Li, Fei Gao, Kaiwei Wang

原文链接:https://arxiv.org/abs/2209.05167

代码链接:https://github.com/flysoaryun/LF-VIO-Loop

2. 摘要

回环是同步定位与建图(SLAM)系统的重要组成部分。大视场(FoV)相机在slam领域受到了广泛的关注,因为它们可以在全景图像上利用更多的周围特征。在大视场VIO中,为了结合位于全景相机的负平面上的信息线索,图像特征由具有单位长度的三维向量表示。虽然全景FoV看起来有利于回环,但在大姿态角差异下,这种好处不容易实现,在这种情况下,回环帧很难通过现有方法匹配。在这项工作中,为了充分释放超宽视场的潜力,我们提出利用VIO系统的姿态信息来指导闭环的特征点检测。由于宽视场全景数据上的回环还带有大量异常值,传统的异常值剔除方法不能直接适用。为了解决这一问题,我们提出了一种基于单位长度表示的异常值剔除方法的闭环框架,以提高LF-VIO的精度。在公开的PALVIO数据集上,进行了一组全面的实验,提出的LF-VIO-Loop优于最先进的视觉惯性里程计方法。

3. 算法分析

如图1所示是作者提出的LF-VIO-Loop系统的框架原理,该系统基于作者以前的工作LF-VIO构建,其中回环线程独立于LF-VIO系统。当接收到VIO系统传送的数据时,首先使用姿态信息对图像进行变换,然后提取特征点的描述符。利用DBoW将其转换为词袋向量,并使用BoW库检查当前帧是否与历史帧相似。之后使用RANSAC方法剔除误匹配,最后进行位姿图优化。

图1 LF-VIO-Loop概述

综上所述,作者所做工作的主要贡献如下:

1 提出了一个大视野相机的闭环框架LF-VIO-Loop;

2 提出了一种在闭环检测中利用VIO姿态信息辅助描述符提取的方法;

3 为了鲁棒地解决闭环帧和关键帧之间的姿态变换,引入了一种新的RANSAC方法来剔除异常点;

4 在全景环形相机数据集PALVIO的ID01~ID10上,LF-VIO-Loop获得了更好的精度。

3.1 回环检测

匹配闭环帧依赖于描述符的表示,对于成像平面为负的大视场相机,当姿态差异过大时,描述子信息差异较大。因此,直接匹配原始图像效果较差。与针孔相机相比,具有较大FoV的相机在闭环(图2给出了传统针孔相机和全景环形相机的视场比较)中具有更高的匹配概率。

图2 针孔相机与全景相机的FoV对比 (a) 针孔相机的视场角为87° × 58° (b) 全景相机的视场角为360° × (40°~120°) 橙色虚线是静止位置的水平线,红色虚线表示(a)在FoV中的区域

然而在同一时间,由于闭环帧的姿态和关键帧之间的巨大差异,全景相机的闭环检测率并不高。因此,作者提出利用VIO提供的位姿信息对图像进行重映射,然后提取描述子,这样可以大大提高描述子匹配的成功率。对于原始图像中表示为[u, v]的每个点具有如下的变换关系:

3.2 RANSAC

相较于传统的VIO系统,全景相机特征点在闭环匹配有更多的外点。如果特征点匹配错误,会严重影响闭环帧和关键帧的位姿求解,从而影响闭环优化的精度,所以RANSAC方法在闭环线程中至关重要。在回环中,得到图3所示的匹配的两点x1,x2,可以通过如下方程求解:

图3 极线约束匹配关系

橙色五角星表示地标,每个五角星对应右侧两个矢量,其中绿线上的矢量顶点被保留,红线上的矢量顶点被移除

对于具有负平面的大FoV相机,仅使用极线约束即可拒绝的外点数量相对较少。因此作者提出了一种新的的RANSAC方法来避免这种情况,具体来说有以下三个步骤:

1 每次从所有点对(Pi, Qi)中选取8个点,然后计算本质矩阵并计算每个点的得分,剔除不满足极线约束的外点。

2 对得分最高的本质矩阵进行分解,得到4组Rm和Tm (m=1, 2, 3, 4)。

3 Qi和RmPi之间的点积应该大于阈值,因此可以再次使用评分机制来消除剩余的外点。

最后,由于算法采用LF-VIO中引入的单位向量来表征特征点,因此EPnP在检查内点时需要考虑成像平面为负的情况。这一步可以通过确保地图点和特征点在相机坐标系中的夹角小于阈值,以筛选出内点。

3.3 位姿图优化

位姿图优化用于进一步纠正回环的误匹配,为了优化位姿图中的每个节点,具体优化的目标函数为:

因为对于VIO系统,横滚角和俯仰角不会因加速度计而发散,因此φ和θ是横滚角和俯仰角的固定估计值,S和L是所有顺序边和闭环边的集合。此外,第i个关键帧的状态为:

其中i,pw,q是帧索引,位置和方向。v,piv,φ是闭环索引,相对位置和偏航。D是包含3D位置及其描述符的特征集。

4. 实验

4.1 描述符性能对比

作者主要在PALVIO数据集上进行实验,该数据集包含环形数据和IMU数据。PALVIO有10个序列:ID01到ID10,并且具有闭环场景。

如图4所示,在倾斜和偏航角度上有很大的差异的场景下,LF-VIO-Loop也能准确识别到闭环。为了验证引入姿态引导描述符比直接提取描述符更有效,作者探索了不同的设置,包括(1) 使用姿态引导变换图像并提取BRIEF描述符以使用Hamming距离进行匹配,(b)直接提取BRIEF描述符用于匹配,©直接提取用于匹配的SuperPoint描述符,以及(d) GMS解决方案。为了便于比较,使用RANSAC对上述方法进行异常值剔除。GMS中原始ORB点数为1000,其余仅使用500个点。具体的对比结果如图5所示。

图4 在(a)大偏航角差和(b)大倾斜角差的情况下,LF-VIO-Loop的回环测试

图5 匹配对比

这三行分别表示小角度差、大偏航角度差和大倾斜角差的情况,红色的点是应用RANSAC方法后剩余的点

结果显示,当两幅图像的姿态角相差很小时,LF-VIO-Loop与其他三种方法相比匹配了更多的错误点,但是所有的离群点都可以被RANSAC方法去除。如第二行所示,当两幅图像的偏航角相差较大时,传统的BRIEF和SuperPoint方法基本完全不匹配正确点,GMS和LF-VIO-Loop性能接近。如第三行所示,当两幅全景图像的偏航角相差较大时,LF-VIO-Loop算法相对于其他三种算法具有明显的优势。

4.2 回环检测对比

由于LF-VIO-Loop是在LF-VIO的基础上增加了回环线程,因此作者还与SVO2.0和VINS-Mono进行了比较,表1和图6是对比的结果。系统整体误差的评价指标包括相对位姿平移误差(RPEt)、旋转相对位姿误差(RPEr)和绝对轨迹误差(ATE)。

表1 PALVIO数据集上的VIO方法对比

图6 在PALVIO数据集上进行的针对不同VIO系统的误差对比

如表1所示,可以看出,在所有序列(ID01~ID10)中,LF-VIO-Loop的精度最高。RPEt和ATE与LF-VIO、SVO2.0和VINS-Mono-Loop相比得到了显著提升。其中,ID08中实现的闭环效果如图7所示,表明LF-VIO-Loop即使在很远的距离也能实现闭环。

结果显示,由于大视场全景相机具有负成像面的特点,而VINS和SVO2.0只能利用正半平面图像。因此,即使检测到相似的图像,有用的特征点对仍然被拒绝。对于VINS-Mono-Loop,即使启用了回环线程,它也很难对不充分的特征点触发回环优化。

图7 LF-VIO-Loop在ID08上的回环测试,每个灰色正方形的边长是1米

5. 结论

在2022论文"Attitude-Guided Loop Closure for Cameras with Negative Plane"中,作者提出了一个姿态引导的大视场相机闭环框架LF-VIO-Loop。在闭环线程中,利用VIO系统的姿态信息来提取特征描述符。与BRIEF descriptor、SuperPoint和GMS相比,当两个闭环框架的倾斜角或偏航角相差很大时,LF-VIO-Loop具有更好的性能。此外,作者提出的RANSAC方法更适合于负半平面的相机来剔除外点。在公共PALVIO数据集上,LF-VIO-Loop比VINS-Mono-Loop和SVO2.0-Loop具有更高的精度。最后作者提出,他们的目标是在SLAM系统中使用双目全景和激光雷达。