0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么基于学习的VO很难超过传统VSLAM?

3D视觉工坊 来源:3D视觉工坊 作者:泡椒味的口香糖 2022-11-10 09:48 次阅读

0. 笔者个人体会

深度学习在其他CV领域可以说已经完全碾压了传统图像算法,例如语义分割、目标检测、实例分割、全景分割。但是在VSLAM领域,似乎还是ORB-SLAM3、VINS-Fusion、DSO、SVO这些传统SLAM算法占据领导地位。那么这背后的原因是什么?基于深度学习的VO目前已经发展到了什么程度?

本文将带领读者探讨基于学习的VO难以训练的真正原因,并分析几个目前SOTA的学习VO,深入浅出理解基于学习的VO和传统VSLAM算法之间的区别是什么。当然笔者水平有限,如果有不同见解欢迎大家一起讨论,共同学习!

1. 为什么基于学习的VO很难超过传统VSLAM?

最早的基于学习的VO应该是2017年ICRA论文“DeepVO: Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks”,这个架构也非常直观,就是将图片序列利用CNN提取特征,然后借助RNN输出位姿。之后它们团队也在2018年ICRA发表了“End-to-end, sequence-to-sequence probabilistic visual odometry through deep neural networks”,提出了DeepVO的改进版本ESP-VO,但可以看出它们在一些场景的效果还是不太好的。

87d2d812-6084-11ed-8abf-dac502259ad0.png885a4ed2-6084-11ed-8abf-dac502259ad0.png8884291e-6084-11ed-8abf-dac502259ad0.png

我认为基于学习的VO之所以失败,主要有六点原因。

首先就是数据量的问题,深度学习是非常吃数据的。

模型越大,想让网络权重收敛所需的数据规模也就越大。近些年随着Transformer的横空出世,深度网络的参数量几乎是呈几何倍数增长,动不动就出现上亿参数的大模型。

但目前VSLAM的评估场景主要是KITTI (22个序列)、EuRoC (11个序列)和TUM (24个序列)这三个数据集。

即使是三个数据集加起来,也没有ImageNet这一个数据集大。因此想使用深度学习直接定位建图的话,模型根本喂不饱,训练就显得非常困难。

88a2c950-6084-11ed-8abf-dac502259ad0.png

但仅仅如此吗?

如果只是数据集规模的问题,那直接在车上放一个摄像头,开车出去采个十几万张图片不就可以轻松解决问题了吗?或者说根本不需要自己采集数据集,直接使用其他CV领域的数据集,比如伯克利自动驾驶BDD数据集里面有10万个视频序列,不一样可以用吗? 这里就需要说到另一个很少有人关注的点,就是空间位姿中的主成分问题

KITTI数据集是用无人车采集的,EuRoC是用无人机采集的,TUM是用手持相机采集的。这里不可避免得就涉及到六个自由度的分布问题,显然KITTI数据集中的位姿基本都是绕Z轴的旋转和水平方向的平移(显然车不可能无缘无故翻滚和上升),EuRoC和TUM数据集中的位姿也是绕Z轴的旋转和水平方向的平移占主导(这个也很容易理解,录制视频的时候也很难有特别复杂的杂技运动)。

这是什么意思呢?

就是说,目前SLAM算法中常用的数据集,基本上只有两个方向的运动,其他4个自由度的运动很少或基本为0。这就导致基于学习的方法在训练过程中,只能学习到绕Z轴的旋转和水平方向的平移这两个方向的运动,其他4个方向很难得到充分学习。不仅如此,其他4个方向还会带来大量噪声,导致本来学好的位姿也不准了!

88cefc96-6084-11ed-8abf-dac502259ad0.png

第三点原因也相当重要,就是图像分辨率和内参的问题!深度模型在训练之前,输入数据会统一Resize为固定的大小,也就是说基于学习的VO在训练过程中学到的是这一固定分辨率下的位姿估计结果。

当网络换一个数据集进行测试的时候,由于图片分辨率变了,网络没学习过这种设置下的位姿,所以输出结果非常受影响。但是传统SLAM算法不会有这种问题,因为它是完全基于对极几何和PNP进行求解的,即使换一个数据集,结果也不会受到太大影响。

88f9c642-6084-11ed-8abf-dac502259ad0.png

第四点原因,就是所有单目算法都会面临的尺度模糊问题。单目算法的尺度不确定性在此不做过多赘述。需要注意的是,基于学习的VO在一个数据集上会学习到这个数据集所对应的尺度,这个尺度还是一个相对尺度。当我们希望将网络迁移到另一个数据集时,由于这个尺度变化,会导致网络估计出的位姿非常不准。

第五,基于学习的VO很难实现回环检测

熟悉ORB-SLAM3的同学知道,ORB-SLAM3中是存在短期、中期、长期、多地图这四种数据关联的。短期数据关联对应跟踪线程,也是大多数VO使用的唯一数据关联类型,一旦地图元素从视野中消失,就会被丢弃,即使回到原来的地方,也会造成持续的位姿漂移。中期数据关联对应局部建图,通过BA优化可以约束具有共视关系的关键帧。长期数据关联指回环和重定位,可以拉回大幅度的累计漂移。

多地图数据关联可以使用之前已经建立的多块地图来实现地图中的匹配和BA优化。通过这四种数据关联模型,ORB-SLAM3实现了非常强的全局一致性约束,使得整体的位姿估计非常准。但是对于基于学习的VO来说,仅有帧间匹配,很难去实现回环这种长期数据关联,位姿漂移的问题非常严重。

最后一个问题就是,现有的深度学习方法非常吃计算资源。2022年了,基本上3090显卡只能勉强达到深度学习的入门门槛,没有几块A100的话,大模型想都不要想。目前效果最好DROID-SLAM甚至需要4块3090才能达到实时运行。但SLAM算法的最终目标还是落地,要求的是能在低功耗的嵌入式设备上实时运行。

目前大公司的SLAM算法都在做减法来尽可能缩减算力要求,这时候突然要求GPU加速就有点令人难以接受,毕竟谁也不可能真的给自动驾驶汽车或者配送无人机装4块A100吧?

2. 传统VSLAM就一定稳定吗?

我们所熟知的ORB-SLAM、VINS等算法在KITTI、EuRoC、TUM这些静态场景中都已经实现了非常好的效果。但问题是这些场景的规模还是太小了,很少有什么运动模糊的情况,并且也没有什么动态物体。即使它们之中有一些动态序列,动态物体所占的图像范围也没有多大。

当涉及到一些高动态、无纹理、大范围遮挡等挑战性的场景时,传统的VSLAM算法很容易崩溃。如下图所示,测试ORB-SLAM在挑战性数据集Tartan Air中的运行结果时发现,ORB-SLAM平均只能跑完一半的序列,平均绝对轨迹误差ATE甚至达到了27.67m,双目比单目的效果好一些,但也没有好太多。

89534384-6084-11ed-8abf-dac502259ad0.png8a573d30-6084-11ed-8abf-dac502259ad0.png

现有的传统方法也基本都是加入点线面特征,或者引入IMU/激光雷达/轮速计/GNSS等多传感器来辅助定位和建图。

但现有算法也基本都是针对特定场景才能运行的,针对这些挑战性场景,始终都没有一个统一且完善的解决方案。 但在深度学习领域,这些都不是问题!目前YOLO已经出到了v7版本,可以轻轻松松检测上千种不同目标,基于Transformer语义分割/实例分割的IoU也已经不停涨点。

不用说检测出一个动态物体,就是多目标跟踪的算法现在也已经非常成熟。 所以说,深度学习结合SLAM是一个非常有价值的大方向!虽然现有的深度学习方法也都有不同的问题,但相信随着时间变化,这些问题都可以被解决。

3. TartanVO

TartanVO来源于2020年CoRL论文“TartanVO: A Generalizable Learning-based VO”,作者是卡内基梅隆大学的王雯珊。

前面说到,ORB-SLAM在挑战性数据集Tartan Air上运行很容易崩溃,Tartan Air数据集也是王雯珊团队的工作。

Tartan Air是一个大规模、多场景、高动态的仿真数据集,里面包含20种不同的环境、500+个轨迹以及40万+帧图像。虽然Tartan Air并不来源于真实传感器,只是一个仿真场景,但其实内部的图像已经足够真实。

8aa37600-6084-11ed-8abf-dac502259ad0.png

我们沿着TartanVO作者的设计思路来进行分析,首先TartanVO设计了一个简单并传统的网络架构,思路也非常简单,输入是连续的两帧图像。网络首先会提取特征并估计光流,之后利用Pose网络估计出位姿。

8aef8e64-6084-11ed-8abf-dac502259ad0.png

但TartanVO的作者发现,训练过程中的损失一直降不下来!通过分析发现这是由于平移位姿估计差引起的,那原因就显而易见了,还是单目尺度不确定问题!为了解决这个问题,作者设计了对应的尺度一致性损失,只估计相对尺度:

8b27a646-6084-11ed-8abf-dac502259ad0.png

8b4243b6-6084-11ed-8abf-dac502259ad0.png

同时TartanVO的另一个重要创新点在于,通用性非常强!前面说到,不同数据集的图像分辨率和内参不一致,这影响了网络的泛化性能。

因此TartanVO又加入了内参层,在训练过程中同时估计相机内参矩阵。同时在训练过程中对Tartan Air数据集的图像进行随机裁剪和缩放,以此来模拟不同的内参。

8b71fafc-6084-11ed-8abf-dac502259ad0.png

定量结果也证明了网络的有效性,虽然训练损失提高了(模型任务复杂了),但测试损失还是得到了明显降低。

8bf25ba2-6084-11ed-8abf-dac502259ad0.png

下表是在KITTI数据集上的测试结果,注意TartanVO并没有进行Finetune,但是效果比其他基于学习的VO方法好。值得一提的是,TartanVO的平移精度很高,但是相较于ORB-SLAM的旋转精度较低,这是因为ORB-SLAM具有回环检测模块。

8c1aca1a-6084-11ed-8abf-dac502259ad0.png

4. 基于TartanVO的动态稠密RGB-D SLAM

这篇论文是今年5月上传到arXiv的,论文名为“Dynamic Dense RGB-D SLAM using Learning-based Visual Odometry”,同样是卡内基梅隆大学的研究成果。

这个网络是基于TartanVO进行的,相当于TartanVO在动态环境中的改进,输出是没有动态对象的稠密全局地图。

算法的主要思想是从两个连续的RGB图像中估计光流,并将其传递到视觉里程计中,以通过匹配点作为直接法来预测相机运动。然后通过利用光流来执行动态分割,经过多次迭代后,移除动态像素,这样仅具有静态像素的RGB-D图像就被融合到全局地图中。

不过不知为何,这篇论文没有进行定量评估,没有和其他SLAM算法的一些ATE、RTE等参数的对比,只有一些定量对比,可能是工作还在进一步优化。

8c463db2-6084-11ed-8abf-dac502259ad0.png8c744612-6084-11ed-8abf-dac502259ad0.png

5. DytanVO

DytanVO算是目前最前沿的成果了,论文名“DytanVO: Joint Refinement of Visual Odometry and Motion Segmentation in Dynamic Environments”,同样是卡内基梅隆大学王雯珊团队的工作,该论文已经提交到2023 ICRA。 DytanVO的整个网络架构还是基于TartanVO进行优化的。

DytanVO由从两幅连续图像中估计光流的匹配网络、基于无动态运动的光流估计位姿的位姿网络和输出动态概率掩码的运动分割网络组成。

匹配网络仅向前传播一次,而位姿网络和分割网络被迭代以联合优化位姿估计和运动分割。停止迭代的标准很简单,即两个迭代之间旋转和平移差异小于阈值,并且阈值不固定,而是预先确定一个衰减参数,随着时间的推移,经验地降低输入阈值,以防止在早期迭代中出现不准确的掩码,而在后期迭代中使用改进的掩码。

8d0128d4-6084-11ed-8abf-dac502259ad0.jpg

下图所示是DytanVO的运行示例,包含两个输入的图像帧、估计的光流、运动分割以及在高动态AirDOS-Shibuya数据集上的轨迹评估结果。结果显示DytanVO精度超越TartanVO达到了最高,并且漂移量很小。

8d3312b8-6084-11ed-8abf-dac502259ad0.jpg

下表是在AirDOS-Shibuya的七个序列上,DytanVO与现有最先进的VO算法进行的定量对比结果。

七个序列分为三个难度等级:大多数人站着不动,很少人在路上走来走去,穿越(容易)包含多个人类进出相机的视野,而在穿越道路(困难)中,人类突然进入相机的视野。

除了VO方法之外,作者还将DytanVO与能够处理动态场景的SLAM方法进行了比较,包括DROID-SLAM、AirDOS、VDO-SLAM以及DynaSLAM。

8d5b70fa-6084-11ed-8abf-dac502259ad0.png

6. 总结

深度学习已经广泛应用到了各个领域,但在SLAM领域却没有取得很好的效果。本文深入探讨了为什么基于学习的VO效果不如传统的SLAM算法,并介绍了三种基于学习的VO的算法原理。

总之,深度学习与SLAM结合是一个大趋势,现阶段无论是基于学习的VO还是传统SLAM算法都有各自的问题,但两者结合就可以解决很多困难。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ESP
    ESP
    +关注

    关注

    0

    文章

    175

    浏览量

    33567
  • VSLAM算法
    +关注

    关注

    0

    文章

    5

    浏览量

    2213

原文标题:基于学习的VO距离传统VSLAM还有多远?

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如下电路Vo等于多少?谢谢

    `如下电路Vo等于多少?谢谢`
    发表于 03-09 23:11

    新人求教:学习电子很难就业吗 ?以后发展如何?

    学习电子很难就业吗 ????以后发展如何??????...
    发表于 05-22 10:26

    分享一款基于Intel技术的双目VSLAM空间定位解决方案

    SLAM是什么?VSLAM技术框架主要包括哪些?VSLAM技术拥有哪些核心技术优势?
    发表于 07-09 07:29

    激光SLAM和视觉VSLAM的分析比较

    什么是激光SLAM?视觉VSLAM又是什么?激光SLAM和视觉VSLAM有哪些不同之处?
    发表于 11-10 07:16

    这个运放Vo怎么算

    这个运放Vo怎么算
    发表于 11-16 16:43

    诠视科技的VSLAM技术突破 看看CEO林琼如何诠释

    在移动机器人领域,2018年最大的技术进展莫过于VSLAM技术在该领域的应用突破了,它将让移动机器人自主行驶有更广阔的空间。对机器人企业而言,VSLAM是令人头疼的事情,现如今有一家企业把它做好了,对其它企业而言,就省事多了。
    的头像 发表于 03-02 10:09 5000次阅读

    通过持续元学习解决传统机器学习方式的致命不足

    传统机器学习正在凸显它的不足。为了解决此问题,伯克利大学人工智能实验室教授继2017年提出元学习后,又提出在线元学习。不仅可以解决传统
    的头像 发表于 03-04 14:20 1956次阅读

    “诠视科技”获数千万A轮融资:将继续拓展VSLAM底层技术

    诠视科技近期获得数千万元A轮融资,由深创投领投、清科跟投。诠视科技是近两年新崛起的vslam算法方案提供商,其方案除了应用于AR外,也可以用在机器人、无人机、无人驾驶上。 2018年至今
    的头像 发表于 10-09 11:51 1537次阅读

    VSLAM系统方法的各种特点

    近年来,基于视觉的传感器在SLAM系统中显示出显著的性能、精度和效率提升。在这方面,视觉SLAM(VSLAM)方法是指使用相机进行姿态估计和地图生成的SLAM方法。
    的头像 发表于 11-01 09:53 2072次阅读

    研讨会预告 | 在 Jetson 上使用 vSLAM 进行 ROS 2 精准定位

    库执行立体视觉同步定位和绘图(VSLAM),并估计立体视觉惯性测距。 在首次 Isaac ROS 线上研讨会上,您将学习到如何使用 Isaac ROS Visual SLAM 进行测绘和机器人导航。 研讨
    的头像 发表于 11-10 11:00 763次阅读

    一文梳理缺陷检测的深度学习传统方法

    但由于缺陷多种多样,传统的机器视觉算法很难做到对缺陷特征完整的建模和迁移,所以越来越多的学者和工程人员开始将深度学习算法引入到缺陷检测领域中。
    的头像 发表于 02-13 15:39 987次阅读

    基于事件相机的vSLAM研究进展

    vSLAM能够通过视觉传感器来获取环境信息,以达到估计机器人位姿和周围环境三维重建的目的。但是传统的视觉传感器受限于它的硬件而导致的低动态感光范围和运动中产生的动态模糊,在一些复杂的场景下无法得到良好的结果,例如高速运动中的或者复杂的光照条件下的场景。
    发表于 05-09 15:49 386次阅读
    基于事件相机的<b class='flag-5'>vSLAM</b>研究进展

    基于事件相机的vSLAM研究进展

    为了能让基于事件相机的vSLAM在事件数据上实现位姿估计和三维重建,研究者设计出了多种多样针对事件相机的数据关联、位姿估计和三维重建的解决方案。我们将主流的算法分类为四种类别,分别为特征法、直接法、运动补偿法和基于深度学习的方法。
    发表于 05-12 11:51 296次阅读
    基于事件相机的<b class='flag-5'>vSLAM</b>研究进展

    联合学习传统机器学习方法中的应用

    联合学习传统机器学习方法中的应用
    的头像 发表于 07-05 16:30 609次阅读
    联合<b class='flag-5'>学习</b>在<b class='flag-5'>传统</b>机器<b class='flag-5'>学习</b>方法中的应用

    MWC 2024丨生成式AIGC成为最大亮点—美格智能携手阿加犀推出多感知融合VSLAM解决方案

    2024世界移动通信大会盛况空前,AI成为最大亮点。2月28日,美格智能携手阿加犀,将算力模组的硬件优势与AI优化部署技术相结合,在MWC展会现场展示了基于高算力AI模组的多感知融合VSLAM
    的头像 发表于 02-28 17:51 426次阅读