点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者丨R
来源丨旷视研究院
编辑丨极市平台
导读
在CVPR 2020 SLAM挑战赛上,旷视研究院参赛团队获得了两个赛道的冠军。本文分享了他们采用的技术方案,并介绍了旷视SLAM机器人研究进展。
相信做SLAM(即时定位与地图构建)的同学都知道或者领略过TartanAir,这个CMU于今年3月发布的超难数据集的“风采”。据CMU研究人员介绍,构建该数据集的目的就是为了推动视觉SLAM的极限。而在完全基于该数据集举办的 CVPR2020 SLAM 挑战赛上,旷视研究院 SLAM 组以绝对优势包揽该挑战赛全部赛道的冠军。本文对团队的方案进行了介绍,希望与同学们交流讨论。
实时定位与地图构建(Simultaneous Localization and Mapping,SLAM)技术是机器人导航控制领域一项极为重要的基础技术,虽然近年来SLAM领域发展迅猛,但算法在各类环境下的鲁棒性问题仍然有待探索,这其中数据集扮演着关键角色。
一个典型的SLAM工作:利用视频序列同时估计相机姿态和构建环境地图,视频源于Direct Sparse Visual-Inertial Odometry using Dynamic Marginalization, Lukas von Stumberg, Vladyslav Usenko, Daniel Cremers, 2018 IEEE International Conference on Robotics and Automation (ICRA)
当前已有的数据集虽然极大推动了领域的发展,但与实际应用当中的场景丰富度与运动模式相比,它们依然存在较大提升空间。为此 TartanAir 数据集横空出世,作为对真实世界数据不足的补充,基于虚幻引擎强大拟真能力构建的 TartanAir,包含大量风格迥异、环境变量多元的场景。
另外,正是由于使用了虚拟环境,团队才能从各种视角、运动模式出发来收集数据样本,这在真实世界的数据收集中往往十分困难。
TartanAir 数据示例,官网:http://theairlab.org/tartanair-dataset/
CVPR2020 SLAM 挑战赛完全基于TartanAir开展,共有两个赛道 Monocular Track、Stereo Track。每个比赛都要在给定的16个序列上算出轨迹并提交。
比赛官网:
https://sites.google.com/view/vislocslamcvpr2020/slam-challenge
评价指标Score的计算方式为:,Score越小越好。其中取
来平衡平移和旋转的误差,因为在该数据集上平均角速度(角度为单位)是平均线速度的7倍。
比赛提交时间于2020.08.15截止,根据提交的最优的Score进行排名。旷视研究院 SLAM 组最终包揽该挑战赛全部赛项冠军。此次登顶一方面证明旷视研究院在 SLAM 领域所具备的国际顶尖水平,同时这份成绩也反映了旷视在机器人建图定位方面的业界领先水平。
CVPR2020 SLAM 挑战赛之所以对现有 SLAM 方案十分困难,其原因在于比赛数据拥有极为丰富的场景与场景环境变化,同时相机的各种极端运动模式也为 SLAM 算法的鲁棒性提出了巨大挑战。
1.丰富的场景:如室内场景、城市场景、森林场景、水下场景等,因此需要 SLAM 算法很高的泛化能力,能够胜任于各种场景。
2.场景的变化多种多样:如光照变化、天气变化(雨、雪、雾)、季节变化、弱纹理、动态物体等,需要 SLAM 算法很好的鲁棒性,适应各种场景变化。
3.极端的相机运动:使得视角变化很大,需要鲁棒的 Tracking 算法以至于不容易跟踪丢失。
技术方案
针对上述难点,旷视研究院 SLAM 组在此次比赛中的 Mono Track 和 Stereo Track 两个赛道分别采用了以下的技术方案。
1.Mono Track
各阶段提交结果如下:
在 Mono Track 中,研究人员主要用了以下方法:
用 COLMAP 作为 baseline 方法
COLMAP 是一种常用的 SFM 系统,其流程图如上图所示。对输入的图像序列,通过特征提取、匹配以及几何校验来建立特征间的数据关联,然后通过图像配准、三角化特征点以及Bundle Adjustment 来进行增量式的定位与建图。由于 COLMAP 精度高且可扩展性较强,研究人员在比赛中所用方案都是基于 COLMAP 的框架。
用 SuperPoint 和 SuperGlue 进行特征提取和匹配
在 COLMAP 中,通过提取 SIFT 特征点和最近邻匹配来建立特征间的关联。而本次比赛的难点之一就是丰富且不断变化的场景,不论是变化的光线还是雨雪雾等天气的影响,准确的提取特征点以及建立特征点之间正确的匹配都将对结果有着至关重要的影响。如上图所示,人工设计的 SIFT 特征和最近邻匹配在比赛环境中无法达到理想的效果。
针对这一问题,研究人员采用了 SuperPoint 以及 SuperGlue 的方案。SuperPoint 通过利用深度学习来得到图像中的特征点,SuperGlue 通过利用 CNN 和 GNN 将两帧图像的特征点进行匹配。通过测试及验证 SuperPoint+SuperGlue 相比于 SIFT+NN,会有更多正确的匹配,同时有更少的错误匹配。
根据环境进行动态阈值调整
由于场景变化丰富,即使在同一个序列中,也存在着很剧烈的变化,例如从室内到室外、从强光照到弱光照、从强纹理到弱纹理等。这种场景的不均衡分布会给算法精度带来很大的影响。如上图所示,当采用固定阈值时,同一个序列中的两对匹配由于场景变化太快,导致特征点和匹配的数量极度不均衡,将会使得 BA 环节带来精度的损失。
为了解决这一问题,如上图所示,研究人员根据环境的变化动态的调整阈值等参数,使之做到保持每幅图像中特征点和匹配的数量都比较均衡,减小特征点的不均衡分布带来的影响。
Loop detection via BoW and geometric validation
另一个关键点就是回环检测。研究人员发现有一些测试数据集存在回环,如果能正确的检测出回环的话可以很大程度上纠正累计误差。
研究人员通过 BoW 进行回环检测,然后通过 geometric validation 剔除错误回环,然后 global BA。通过这种方式来使得精度进一步提升。
如下为一些单目测试集上的结果:
2.Stereo Track
各阶段提交结果如下:
双目的方法跟单目的方法大同小异,不同的是双目每次会输入左目和右目一对图像,且双目带有绝对尺度。除了跟单目中一样的方法,研究人员主要用了以下方法:
由于 COLMAP 不支持双目,首先将 COLMAP 改成双目的 COLMAP,主要添加了COLMAP 中双目的初始化,双目匹配,以及适配于双目的 BA。流程图如下:
当输入一对双目,研究人员对双目的每幅图像提取特征点,然后通过双目匹配和相邻帧匹配来建立特征间的数据关联,然后进行双目初始化、双目配准、特征点三角化等。在BA中,研究人员只优化左目图像的位姿,右目的位姿通过左目和外参得到,同时固定双目的外参。通过上述流程研究人员可以针对双目图像进行增量式的定位与建图。
跟单目的做法一样用 SuperPoint 和 SuperGlue 进行特征提取和匹配
同时使用 SIFT 特征点和 SuperPoint 特征点进行 Mapping
相比于单目的测试数据集,双目测试数据集中,相机运动更加极端。为了保持在极端运动中还能鲁棒的 tracking,研究人员同时使用 SIFT 特征点和 SuperPoint 特征点进行 Mapping,这样能构建更多的 Mappoints,使 Tarcking 更加鲁棒而且不容易 track lost。
其他做法跟单目相同。
如下为一些双目测试集上的结果:
总结
截止到 2020.8.15 比赛结束,旷视研究院 SLAM 组最终在 SLAM Challenge 的 Mono Track 和Stereo Track 两个赛道同时获得冠军。以下是研究人员进行的一些基准测试以及研究人员所用的方法在 leaderboard 上的得分,供大家参考。
延伸阅读:旷视SLAM机器人
旷视的 SLAM 技术在机器人产品中得到了广泛应用,业内首创的激光视觉融合导航技术,赋予旷视机器人全新一代的 MegBot-S800 AMR 更精准的定位能力,更强大的环境适应性。
MegBot-S800 AMR,额定负载 800KG,360° 激光雷达覆盖,VSLAM 技术加持,具备低矮物体检测、智能绕障能力。
MegBot-S800 AMR
MegBot-S800 AMR 实机测试画面
旷视机器人在 SLAM 以及 3D 感知等技术上具有多项行业领先的技术创新:
1)高精到点:自然环境导航,构建高精特征地图,实现 ±1cm 全程平均定位精度和 ±5mm 的高精重复到点。
2)视觉-激光融合:融合视觉、激光等多传感器的新一代 SLAM 技术,智能过滤动态物体,实现传统激光 SLAM 无法达到的动态环境适应性。
3)重定位:基于深度学习的视觉场景识别技术,随时随地开机、重启,无需人为干预。
4)地图智能更新:自动评估当前感知环境与建图时刻环境的变化,多车联动,实现地图可靠、智能的自动升级。
5)柔性导航:结合高精度地图和智能避障系统,实现灵巧、安全和高效的智能导航。
6)智能避障:通过深度学习和 3D 技术识别环境中的人体、坑洞、悬浮物等障碍,并实现不同的智能避障策略,达到极高的安全性标准。
相信未来,旷视 SLAM 技术还将带来更大的突破,旷视机器人也将始终坚持用技术革命行业的理念,为大家带来更多惊喜!
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2
在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计汇总等。
下载3
在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~