点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

作者丨泡椒味的口香糖

来源丨 GiantPandaCV

0. 引言

随着自动驾驶系统的推广,越来越多的应用要求SLAM具备高动态定位以及稠密建图能力。在论文"A Hybrid Sparse-Dense Monocular SLAM System for Autonomous Driving"中,作者提出了一种混合稀疏特征和稠密建图的SLAM系统,并利用UnRectDepthNet来进行单目相机的深度估计。重要的是,算法已经开源。

1. 论文信息

标题:A Hybrid Sparse-Dense Monocular SLAM System for Autonomous Driving

作者:Louis Gallagher, Varun Ravi Kumar, Senthil Yogamani, John B. McDonald

来源:2021 Computer Vision and Pattern Recognition (CVPR)

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

代码链接:https://github.com/robotvisionmu/DenseMonoSLAM

2. 摘要

在本文中,我们介绍了一个使用安装在移动车辆上的单目相机,逐步重建室外环境几何图形的稠密3D模型的系统。稠密模型提供了丰富的环境表示,有助于更高层次的场景理解、感知和规划。

我们的系统采用稠密深度预测和混合建图架构,在一个集成框架内结合了最先进的基于稀疏特征和稠密融合的视觉SLAM算法。

我们的新贡献包括混合稀疏-稠密相机跟踪和回环的设计,以及稠密深度预测中的尺度估计改进。我们使用来自稀疏方法的运动估计来克服户外车辆场景中典型的大且可变的帧间位移。然后,我们的系统使用整体图像对齐将活跃图像与稠密模型配准。这使得能够将实时帧和稠密深度预测融合到模型中。稀疏和稠密模型之间的全局一致性和对齐是通过直接在稠密模型的变形内应用来自稀疏方法的姿态约束来实现的。我们提供了轨迹估计和表面重建精度的定性和定量结果,展示了在KITTI数据集上的竞争性能。所提出方法的定性结果可https://youtu.be/Pn2uaVqjskY查看。

3. 算法分析

如图1所示是作者提出的混合SLAM框架原理,其采用一种混合的方法来进行稠密的单目跟踪和建图。首先使用基于特征点法的ORB-SLAM3,为每一帧提供相机姿态的初始估计。然后,系统遵循稠密交替架构,扩展了ElasticFusion。

其中地图首先保持固定,同时使用上一步中的初始姿态估计值,对相机进行跟踪。一旦估计了相机姿态,将当前帧融合到地图中。作者使用SOTA自监督卷积神经网络UnRectDepthNet来稠密地预测深度估计。此外,各种子系统在不同的处理器上运行:稠密交替和深度预测网络使用GPU运行,而ORB-SLAM3在CPU上运行。作者提出的混合架构总结如下:

(1) 深度预测网络用于估计每一帧的度量深度图。同时,使用ORB-SLAM3的基于特征的跟踪算法进行相机运动的初始估计,该跟踪算法适合于车辆的快速运动。

(2) 通过将初始姿态估计与相机视野中的当前活跃模型对准,进一步细化初始姿态估计。

(3) 实时RGB图像和相应的预测度量深度图被融合到场景的全局稠密模型中。按照原始EF算法,surfel模型被分成活跃和非活跃部分。

(4) 当ORB-SLAM识别出一个闭环时,使用EF变形图中的结果环闭合约束来校正稠密表面的几何形状。这使得先前访问的地图的非活跃部分重新与当前活跃部分对齐。重要的是,这也使ORB-SLAM和EF的不同地图和相机轨迹保持一致。

图1 混合SLAM框架概述

作者的主要贡献总结如下:

(1) 开发了一个单目SLAM算法,可以应用于室外环境中的移动车辆。据作者所述,这是第一个在自动驾驶场景中定量评估的完全稠密SLAM系统。

(2) 在混合架构中使用了稠密的深度预测网络,以松耦合的方式结合了最先进的基于稀疏特征跟踪和稠密融合的视觉SLAM算法。同时改进了以前的稠密深度预测方法,在SLAM应用中增加新的正则化损失和更好的尺度估计。

(3) 使用来自稀疏方法的运动估计来克服户外车辆场景中典型的大且可变的帧间位移,然后使用将实况图像与稠密模型配准对齐。稀疏和稠密模型之间的全局一致性和对齐是通过直接在稠密模型的变形内应用来自稀疏方法的姿态约束来实现的。

(4) 在KITTI基准数据集上评估了该方法,提供了轨迹和表面重建精度的定性和定量结果。

3.1 尺度感知深度估计

基于UnRectDepthNet网络,作者为自监督深度估计建立了相同的SFM框架。并采用针孔相机投影模型进行视图合成,最终目标由光度项*L~p~和边缘平滑正则项L~s~组成。采用了跨序列深度一致性损失L~dc~*和尺度恢复方法。

此外,通过结合自动编码器来获得场景的鲁棒全局特征,设置区别性损失*L~dis~以及收敛性损失L~cvt~L~dis~L~cvt~*的主要目标是防止优化目标被困在诸如天空和道路等低纹理区域的几个局部最小值。最终总目标深度为:

此外,尺度模糊是单目深度估计中一个具有挑战性的问题。因此,需要一个绝对值作为锚点,即通过从另一个专用传感器进行的测量来提供,以获得实际的深度估计。

在正文中,作者使用Velodyne点云和校准信息的结合来改进尺度的估计。并使用Velodyne激光雷达作为真值,通过将计算与图像平面上的正确像素关联来估计比例因子,进而最小化损失。此外,作者假设训练和测试数据集之间的深度一致性,它可以对具有高姿态可变性的数据集提供帮助。

3.2 基于特征的ORB-SLAM3-RGBD跟踪

ORB-SLAM3建立了场景的稀疏地图,并使用共视图来表示。共视图中的每个节点对应一个关键帧,其由一个位姿和一组3D点组成。当两个关键帧之间存在共视关系时,它们之间的一条边会添加到共视图中。ORB-SLAM3有3个主线程。跟踪线程从相机接收RGB-D帧,提取ORB特征,并利用前一帧通过仅定位BA计算初始姿态估计。

通过将当前帧与可见关键帧的局部图对齐,进一步细化估计。检测到新的关键帧并将其发送到建图线程。此处,新关键帧附近的局部地图通过全局BA进行了优化。回环检测使用DBoW进行,如果新关键帧和匹配关键帧之间的几何对齐成功,则形成回环,并将两个关键帧之间的边添加到图形中。关键帧附近的局部地图被严格地变换到适当的位置。关键帧图的其余部分使用姿势图优化进行校正。执行最终的全局BA以恢复所有关键帧姿态和结构的MAP估计。

3.3 混合相机跟踪

在混合系统中,首先将RGB图和预测得到的深度图传递给ORB-SLAM,以计算相机位姿的初始估计。之后需要平衡位姿的准确性,以及与稠密模型保持对齐,进而准确地融合关键帧。为了使相机重新与模型对齐,作者对位姿进行了帧到模型的细化。

在位姿周围的活跃地图被渲染成一个位于该位姿处的虚拟相机。然后,在嵌入3级图像金字塔的非线性最小二乘中,估计对准实时帧到虚拟帧的6自由度齐次变换矩阵。用位姿合成变换可以为当前帧产生一个精确的位姿估计。

3.4 混合回环

如图3所示,混合回环有两个目标:(1) 调整稠密表面的几何形状以与现实世界保持一致;(2) 保持稠密地图与ORB-SLAM的稀疏建图和相机姿态估计一致。它还平衡了对这种一致性的需要和修正稠密几何的计算强度。

图2 回环示例

(i) 一辆汽车开始探索(绿色箭头);(ii) 在一段时间之后,由汽车先前绘制的区域与其当前位置之间的回环;

(iii) 在应用回环之前,漂移明显;(iv) 模型的活跃部分(绿色)偏离了模型的非活跃部分(灰色);(v) 地图的活跃部分与非活跃部分对齐;(vi) 触发回环,重新激活用于建图和跟踪的部分;(vii) 最终的全局模型

4. 实验

作者主要在KITTI上进行测试,主要评估了轨迹估计和表面重建的精度。系统运行的硬件条件为i7−7700K CPU、16GB内存和NVIDIA GTX 1080Ti GPU。

4.1 KITTI-跟踪

作者展示了KITTI数据集中序列01、02、06、08、09和10的结果,其余序列用于深度预测网络的训练。对于每个测试序列,使用长度从100米到800米的序列的相对平移误差。表1显示了实验方案和ORB-SLAM2以及D3VO的对比结果。

实验表明,使用稠密深度预测和ORB-SLAM(O)的RGBD模式,可以使用单目相机进行精确的度量尺度的相机跟踪。当引入混合跟踪(H),它允许当前的帧被融合到模型中。引入混合回环(H+L)有助于使稀疏和稠密的模型恢复对齐,并减少模型和轨迹中的全局误差。此外,由于结构很少的场景会导致深度预测和相机跟踪的退化,因此序列01是一个重要挑战,图3显示了这个序列的定性结果。

表1 KITTI数据集上的相对平移误差

图3 KITTI数据集01序列的定性结果

4.2 KITTI-表面重建

作者从KITTI数据集中评估了表面重建精度。由于KITTI不包括表面真值,作者将其与每个序列的Velodyne点云构建的模型进行比较。表2中显示了估计模型中的点与Velodyne点云中的最近点之间的表面到表面的平均距离。在计算分数之前,这两个模型都是严格对齐的。

表2 KITTI数据集上的表面精度

4.3 系统资源使用

在图4中,作者展示了KITTI数据集中序列09的帧处理时间的细分。建图时间(蓝色)根据surfel数量(紫色)增加。该系统运行在8−9 Hz之间,序列末端的峰值是由于一个全局回环产生的。表3显示了在KITTI特征分割测试集上的运行性能的分布。

图4 系统所花费的时间的细分

表3 KITTI特征分割的测试序列上的分布

4.4 KITTI-深度估计

如表4所示,作者使用了KITTI特征分割上的深度估计设置。结果显示,作者提出的方案优于之前所有的单目自监督方法。根据最佳实践,作者将深度限制在80米,并使用改进的深度图真值进行评估。如图5所示是在KITTI数据集上的轨迹和稠密重建结果。

表4 对改进的KITTI特征分割的深度估计的评估

图5 KITTI数据集上的轨迹和稠密重建结果

(a) 作者提出系统产生的最终模型 (b)与轨迹真值的对比 (c)车辆十字路口时重建的近距离图

5. 结论

在2021 CVPR论文"A Hybrid Sparse-Dense Monocular SLAM System for Autonomous Driving"中,作者提出了一种将稠密深度预测、稀疏特征跟踪和稠密叠加融合技术相结合的混合SLAM系统。该系统允许在自动驾驶场景中使用单目相机对室外场景进行实时稠密的度量重建。稀疏跟踪提供了相机姿态估计,能够在车辆速度下鲁棒地运行。所得到的姿态用于稠密融合跟踪步骤中,以初始化整个图像对齐细化过程。

通过视觉位置识别和稀疏系统的姿态约束来保持模型的全局一致性,并将其传递到稠密融合算法,与基于变形图的地图校正步骤集成。该系统是第一个基于稠密单目融合的视觉SLAM系统。此外,作者提到,虽然该文章的重点是自动驾驶,但通过对深度预测网络的再训练,该系统可以很容易地适应其他场景。

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

计算机视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

16.基于Open3D的点云处理入门与实战教程

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

用于自动驾驶的混合稀疏-稠密单目SLAM系统相关推荐

  1. [论文阅读-NeRF+SLAM]NeRF-SLAM:使用神经辐射场表征的实时稠密单目SLAM系统

    NeRF-SLAM NeRF-SLAM: Real-Time Dense Monocular SLAM with Neural Radiance Fields 第一个结合稠密单目SLAM和层次化体素神 ...

  2. 大盘点!自动驾驶中基于Transformer的单目BEV感知

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 今天自动驾驶之心很荣幸邀请到Garfield,为大家分享自动驾驶中基于Transformer的单目BEV感知! ...

  3. 稠密单目SLAM,实时、稠密地重建三维场景

    以下内容来自从零开始机器人SLAM知识星球 每日更新内容 #论文# Probabilistic Volumetric Fusion for Dense Monocular SLAM 论文地址:http ...

  4. ORB-SLAM:精确多功能单目SLAM系统

    ORB-SLAM: a Versatile and Accurate Monocular SLAM System Taylor Guo, 2016年3月18日-9:00 原文发表于:IEEE Tran ...

  5. 2017CVPR NID-SLAM:基于归一化信息距离的鲁棒单目SLAM系统

    原作:Geoffrey Pascoe 翻译:Frank 转载请注明出处 水平有限,错误请指出 NID-SLAM:基于归一化信息距离的鲁棒单目SLAM系统 摘要 本文提出了一种基于归一化信息距离(NID ...

  6. 翻译 | ORB-SLAM: a Versatile and Accurate Monocular SLAM System(ORB-SLAM:一种通用的(全能的)精确的单目SLAM系统)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 ORB-SLAM:一种通用的(全能 ...

  7. CNN-SLAM:学习深度预测的实时稠密单目SLAM

    文章转自(有图):http://bbit.vip/service/main.php?version=1&type=article&id=91 Abstract: 本文提出了一种利用CN ...

  8. DeepFusion:基于单视图深度和梯度预测的单目SLAM实时稠密三维重建

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题:DeepFusion: Real-Time Dense 3D Reconstruction fo ...

  9. 基于交汇的多机器人协作单目SLAM

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨泡泡机器人SLAM 标题:Multirobot Collaborative Monocular ...

最新文章

  1. FPGA之道(40)HDL的语法结构
  2. Github 项目推荐 | 用手势输入表情符号 —— Emojinator
  3. 桶式排序 php,PHP实现桶排序算法
  4. 数据挖掘--分类思维导图
  5. java自动类型转换与强制类型转换
  6. 开关造成的毛刺_LED射灯开关关了为什么还会闪
  7. 云服务器上划虚拟主机,云服务器上划虚拟主机
  8. SocksCapV2+Socks2HTTP
  9. genetic heterogeneity 遗传异质性
  10. 随机指标计算机程序,MACD/随机指标组合应用分析
  11. android c++服务器端,c++服务器与android客户端进行文件传输功能的实现
  12. 非常好的免费开源网站原型图设计工具
  13. 吴恩达机器学习神经网络 8-1非线性假设
  14. 独立显卡跟集成显卡有什么差别?
  15. 群发邮件很多都进了垃圾箱,怎么办?
  16. matlab修改背景颜色为护眼和修改字体大小
  17. 带宽和宽带的区别是什么?底层原理是什么?
  18. 计算机辅助教学在幼儿园中的应用,浅议在幼儿园运用多媒体辅助教学的实践与思考...
  19. 【教程】微信公众号文章怎么添加Excel表格附件?
  20. 我的日记本开发手记(2)——配色

热门文章

  1. golang实现windows电脑,开机自启动谷歌浏览器,并且浏览器全屏
  2. 360player全景图播放器-附源码
  3. 给语音信号加混响的常用方法(方法二)
  4. sqlite3.OperationalError: near “(“: syntax error
  5. 华为交换机配置链路聚合(手工模式链路聚合和lacp模式聚合)
  6. Arduino官方网站及Arduino爱好者博客
  7. vue 关于this.$refs.xxxx.xx() 报错 not a funciton 的问题解决
  8. 爬一爬哪个操蛋的药品网站,建立药品库
  9. 金山云联合小米打造“云+亿级终端”边缘计算
  10. php威客程序(仿猪八戒),[转载]网上卖300元的PHP威客程序(仿猪八戒)功能强大