CVPR 2020 SLAM挑战赛冠军方案

当前已有的数据集虽然极大推动了领域的发展,但与实际应用当中的场景丰富度与运动模式相比,它们依然存在较大提升空间。为此 TartanAir 数据集横空出世,作为对真实世界数据不足的补充,基于虚幻引擎强大拟真能力构建的 TartanAir,包含大量风格迥异、环境变量多元的场景。

另外,正是由于使用了虚拟环境,团队才能从各种视角、运动模式出发来收集数据样本,这在真实世界的数据收集中往往十分困难。

「TartanAir数据集」: theairlab.org/tartanair-dataset

CVPR2020 SLAM 挑战赛完全基于TartanAir开展,共有两个赛道 Monocular Track、Stereo Track。每个比赛都要在给定的16个序列上算出轨迹并提交。

「比赛官网」:
sites.google.com/view/vislocslamcvpr2020/slam-challenge

评价指标Score的计算方式为:
Score越小越好。其中取来平衡平移和旋转的误差,因为在该数据集上平均角速度(角度为单位)是平均线速度的7倍。

比赛提交时间于2020.08.15截止,根据提交的最优的Score进行排名。旷视研究院 SLAM 组最终包揽该挑战赛全部赛项冠军。

单目排名:
CVPR 2020 SLAM挑战赛冠军方案_第1张图片
双目排名:
CVPR 2020 SLAM挑战赛冠军方案_第2张图片

CVPR 2020 SLAM 挑战赛之所以对现有 SLAM 方案十分困难,其原因在于比赛数据拥有极为丰富的场景与场景环境变化,同时相机的各种极端运动模式也为 SLAM 算法的鲁棒性提出了巨大挑战。

  1. 丰富的场景:如室内场景、城市场景、森林场景、水下场景等,因此需要 SLAM 算法很高的泛化能力,能够胜任于各种场景。
    CVPR 2020 SLAM挑战赛冠军方案_第3张图片

  2. 场景的变化多种多样:如光照变化、天气变化(雨、雪、雾)、季节变化、弱纹理、动态物体等,需要 SLAM 算法很好的鲁棒性,适应各种场景变化。
    CVPR 2020 SLAM挑战赛冠军方案_第4张图片

  3. 极端的相机运动:使得视角变化很大,需要鲁棒的 Tracking 算法以至于不容易跟踪丢失。
    CVPR 2020 SLAM挑战赛冠军方案_第5张图片

针对上述难点,旷视在此次比赛中的 Mono Track 和 Stereo Track 两个赛道分别采用了以下的技术方案。

Mono Track

在 Mono Track 中,研究人员主要用了以下方法:

  • 用 COLMAP 作为 baseline 方法
    CVPR 2020 SLAM挑战赛冠军方案_第6张图片
    COLMAP是一种常用的 SFM 系统,其流程图如上图所示。对输入的图像序列,通过特征提取、匹配以及几何校验来建立特征间的数据关联,然后通过图像配准、三角化特征点以及Bundle Adjustment 来进行增量式的定位与建图。由于 COLMAP精度高且可扩展性较强,研究人员在比赛中所用方案都是基于 COLMAP的框架。

  • 用 SuperPoint 和 SuperGlue 进行特征提取和匹配
    CVPR 2020 SLAM挑战赛冠军方案_第7张图片

在 COLMAP 中,通过提取 SIFT 特征点和最近邻匹配来建立特征间的关联。而本次比赛的难点之一就是丰富且不断变化的场景,不论是变化的光线还是雨雪雾等天气的影响,准确的提取特征点以及建立特征点之间正确的匹配都将对结果有着至关重要的影响。如上图所示,人工设计的 SIFT 特征和最近邻匹配在比赛环境中无法达到理想的效果。

针对这一问题,研究人员采用了 SuperPoint 以及 SuperGlue 的方案(旷视的方案与Hloc+SP+SG极其相似)。SuperPoint 通过利用深度学习来得到图像中的特征点,SuperGlue 通过利用 CNN 和 GNN 将两帧图像的特征点进行匹配。通过测试及验证 SuperPoint+SuperGlue 相比于 SIFT+NN,会有更多正确的匹配,同时有更少的错误匹配。

  • 根据环境进行动态阈值调整

CVPR 2020 SLAM挑战赛冠军方案_第8张图片

由于场景变化丰富,即使在同一个序列中,也存在着很剧烈的变化,例如从室内到室外、从强光照到弱光照、从强纹理到弱纹理等。这种场景的不均衡分布会给算法精度带来很大的影响。如上图所示,当采用固定阈值时,同一个序列中的两对匹配由于场景变化太快,导致特征点和匹配的数量极度不均衡,将会使得 BA 环节带来精度的损失。

为了解决这一问题,如上图所示,研究人员根据环境的变化动态的调整阈值等参数,使之做到保持每幅图像中特征点和匹配的数量都比较均衡,减小特征点的不均衡分布带来的影响。

  • Loop detection via BoW and geometric validation
    CVPR 2020 SLAM挑战赛冠军方案_第9张图片
    另一个关键点就是回环检测。研究人员发现有一些测试数据集存在回环,如果能正确的检测出回环的话可以很大程度上纠正累计误差。

研究人员通过 BoW 进行回环检测,然后通过 geometric validation 剔除错误回环,然后 global BA。通过这种方式来使得精度进一步提升。

如下为一些单目测试集上的结果:
CVPR 2020 SLAM挑战赛冠军方案_第10张图片
CVPR 2020 SLAM挑战赛冠军方案_第11张图片

Stereo Track

双目的方法跟单目的方法大同小异,不同的是双目每次会输入左目和右目一对图像,且双目带有绝对尺度。除了跟单目中一样的方法,研究人员主要用了以下方法:

  • 由于 COLMAP 不支持双目,首先将 COLMAP 改成双目的 COLMAP,主要添加了COLMAP 中双目的初始化,双目匹配,以及适配于双目的 BA。流程图如下:
    CVPR 2020 SLAM挑战赛冠军方案_第12张图片

当输入一对双目,研究人员对双目的每幅图像提取特征点,然后通过双目匹配和相邻帧匹配来建立特征间的数据关联,然后进行双目初始化、双目配准、特征点三角化等。在BA中,研究人员只优化左目图像的位姿,右目的位姿通过左目和外参得到,同时固定双目的外参。通过上述流程研究人员可以针对双目图像进行增量式的定位与建图。

跟单目的做法一样用 SuperPoint 和 SuperGlue 进行特征提取和匹配
同时使用 SIFT 特征点和 SuperPoint 特征点进行 Mapping

相比于单目的测试数据集,双目测试数据集中,相机运动更加极端。为了保持在极端运动中还能鲁棒的 tracking,研究人员同时使用 SIFT 特征点和 SuperPoint 特征点进行 Mapping,这样能构建更多的 Mappoints,使 Tarcking 更加鲁棒而且不容易 track lost。

  • 其他做法跟单目相同。

如下为一些双目测试集上的结果:
CVPR 2020 SLAM挑战赛冠军方案_第13张图片
CVPR 2020 SLAM挑战赛冠军方案_第14张图片

总结

以下是研究人员进行的一些基准测试以及研究人员所用的方法在 Leaderboard 上的得分,供大家参考。
CVPR 2020 SLAM挑战赛冠军方案_第15张图片
CVPR 2020 SLAM挑战赛冠军方案_第16张图片

参考:
CVPR 2020 SLAM挑战赛冠军方案

你可能感兴趣的:(SLAM,CVPR2020,SLAM)