(一)相关slam方案的优缺点

  • 基于RGB-D和双目方法:

直接获取精度较高的深度信息;定尺度,不能使用尺度变化范围大的场景。

  • 基于单目相机:

由于尺度不确定,需要通过平移运动获取深度信息;但由于尺度不确定,可以灵活应用于尺度范围变化大的场景。

  • 基于特征点:

只用到了环境中许多信息的一小部分人工特征点。

  • 基于直接法:
  • pose graph optimization(位姿图优化方法)

(二)创新点及实现

  • 创新点:

  1. 不只是跟踪局部相机位姿,而是建立全局大尺度优化
  2. 使用直接法与特征点法结合,并运用基于滤波的深度估计实现半稠密建图
  3. 用基于3D相似变换的位姿图优化,优化关键帧,进而优化地图
  4. 利用相似变换代替空间刚性变换,加入变尺度方法(scale-aware formulation),检测并克服尺度漂移,能够精准估计小的细节和大尺度几何外观。
  • 主要结构(main component):

1、Tracking of new frames:用之前一帧的位姿作为初始值,跟踪获得每一新帧相对于当前关键帧的se(3);启动LSD-SLAM系统时,只需要初始化首帧关键帧即可,而关键帧深度信息初步设定为一个方差很大的随机变量。在算法运行最开始的几秒钟,一旦摄像头运动了足够的平移量,LSD-SLAM算 法就会“锁定”到某个特定的深度配置,经过几个关键帧的传递之后,就会收敛到正确的深度配 置。LSD-SLAM初始化方式的进一步评估。

2、Depth map estimation:

  • 如果新帧跟关键帧变化较小,就通过small-baseline stereo comparison方法更新关键帧深度图;
  • 若变化较大就创建新关键帧,此新关键帧通过与最近的关键帧匹配来初始化。

3、Map optimizition:

  • Keyframe -to-keyframe tracking:跟踪两两邻近关键帧间的sim(3),作为下一步全局优化的edge;
  • Map optimizition:位姿图优化+闭环检测+尺度漂移检测。

【注】第一帧深度图随机初始化,开始几秒,当相机有充足的平移运动,就会锁定到特定的深度配置,在数帧迭代更新后深度图会收敛正确。

  • 实现步骤:

1、Tracking new Frames(by DIRECT se(3)):最小化方差归一化的光度误差,其中要注意几个要点:

  • 这里用的核函数|| · || δ是Huber norm(有利于弱化outlier点对优化的影响):

  • 残差(residual)不像传统直接法中只有rp,而是包含了rp的不确定度,公式(14)(通过当前帧的光度不确定度与关键帧深度估计不确定度导致的光度不确定度之和来计算);通过方差归一化后优化过程中会减小不确定度大的点的约束力;
  • 单目相机是通过平移运动来估计深度,故rp的不确定度是与相机运动相关的:纯旋转运动对其没影响,z向运动对中间像素影响小,x向运动则只对对x向梯度大的像素点有影响;RGB-D相机的rp不确定对就是恒定的。
  • 由于跟踪阶段新图片没有深度图,故它也没有明确的尺度大小,所以用不了sim(3)(因为sim(3)里边含有尺度因子s,他是一张图到另一张图的尺度缩放比例,需要两张图的尺度去约束求解),故选用se(3)作为优化量。

2、Depth Map Estimation:

  • 通过一个阈值T,来确定新帧是否成为关键帧(直接用李代数计算两帧相对位姿变化,同时加入权重W,且W与每一帧的尺度有关):

  • 若大于阈值就创建新关键帧:与上一关键帧匹配初始化深度图;运用空间交错正则化和外点剔除,将深度图缩放到逆深度平均值为一的范围,并将缩放因子S加入到sim(3)中,供之后用。
  • 若小于阈值就更新当前关键帧:小基线立体比较+深度滤波更新当前帧深度。

3、Constraint Acquisition(获得全局优化的约束项:edge)

  • 直接法在sim(3)上对齐两关键帧作为之后优化的约束(edge):

残差项包含两项:之前方差归一化后的光度残差rp;深度残差rd。由于优化量是sim(),包含着缩放因子,故需要加入深度残差去约束(只有光度残差不能约束S)

  • 闭环检测约束的寻找:利用基于外形的映射算法(FABMAP)查找相似帧,然后用reciprocal tracking check方法检查是否是闭环项:

  • 提升优化时(尤其在闭环检测时)sim(3)跟踪的收敛半径 :由于直接法存在非凸性,所以需要精确的初始值,对于帧间跟踪来说用前一帧的pose去初始化是足够的,但是在闭环检测时就不行了,解决方法:一种是用特征点去跟踪;另一种是用提升收敛半径解决。提升方法:1.Efficient Second Order Minimization (ESM);2.Coarse-to-Fine Approach。

4、Map optimization(全局优化)

本论文中的Map是由关键帧和跟踪的sim(3)约束组成。全局优化的方法就是:对Map使用pose graph optimization(位姿图优化)。其中的误差函数是:

其中的W表示世界帧,最后优化效果图:

  • 实验方法:

1、SLAM性能评判点:

  • 含有很多旋转变换场景下的性能表现;
  • 大范围尺度(景深)变化场景下的性能表现;
  • 大回环检测,或者无回环场景下的性能表现;
  • 长时间、长距离轨迹下的性能表现;
  • 相机快速运动时的性能表现;
  • 动态场景下的性能表现;

2、本文实验方式:

  • 基于公开数据集:基于RGB-D dataset(TUM RGB-D benchmark),这一数据集含有快速旋转运动、很强的运动模糊及滚动快门效应,所以对于单目SLAM来说难度很大。
  • 基于手持单目相机的室外场景

3、本文实验结果:

  • 整体效果:

  • 横向对比其他SLAM:

表的第一列是不同数据集 ,第一行是不同SLAM;评价标准是:绝对轨迹偏差——absolute trajectory RMSE (cm)。

  • sim(3)跟踪时的收敛半径提升方法实验结果:

由结果可知:ESM方法和增加金字塔层数可以增大收敛半径,但是不能提高跟踪精度。

(三)新知识点

1、深度图估计(参考J.engle的另一篇论文):

  • filtering over many per-pixel(过滤单独像素)
  • small-baseline stereo comparison(小基线立体对比)
  • expected stereo accuracy is sufficiently large(期望立体精度足够大)
  • interleaved spatial regularization(交错空间正则化)

2、单目相机尺度不定,具有灵活适应不同尺度场景的优势(本质原因?)

LSD-SLAM论文总结相关推荐

  1. 视觉SLAM总结——LSD SLAM中关键知识点总结

    视觉SLAM总结--LSD SLAM中关键知识点总结 视觉SLAM总结--LSD SLAM中关键知识点总结 1. LSD SLAM的创新点/关键点是什么? 2. LSD SLAM的整体框架是怎样的? ...

  2. 视觉SLAM论文list

    视觉SLAM论文list 转载:https://blog.csdn.net/heyijia0327/article/details/82855443 基础知识材料 2018年, joan sola 大 ...

  3. 分枝定界图解(含 Real-Time Loop Closure in 2D LIDAR SLAM论文部分解读及BB代码部分解读)

    分枝定界图解 网上对分枝定界的解读很多都是根据这篇必不可少的论文<Real-Time Loop Closure in 2D LIDAR SLAM>来的. 分枝定界是一种深度优先的树形搜索方 ...

  4. SLAM论文阅读:M-Loam:具有在线外参校准功能的多LiDAR系统的稳健里程表和建图

    基于loam的多激光雷达slam 论文题目: Robust Odometry and Mapping for Multi-LiDAR Systems with Online Extrinsic Cal ...

  5. 语义激光SLAM论文阅读 Semantic Lidar_based SLAM paper Research

    语义激光SLAM论文阅读 Suma: Efficient Surfel-Based SLAM using 3D Laser Range Data in Urban Environments 主要工作 ...

  6. SLAM论文速递【SLAM—— DynaSLAM II:紧耦合多目标跟踪与SLAM—4.19(2)

    论文信息 题目: DynaSLAM II:Tightly-Coupled Multi-Object Tracking and SLAM DynaSLAM II:紧耦合多目标跟踪与SLAM 论文地址: ...

  7. 激光SLAM论文简单导读--LOAM、VLOAM、LeGO-LOAM、LIO-SAM、LVI-SAM、LIMO、LIC-FUSION、TVL-SLAM、R2LIVE、R3LIVE

    激光SLAM论文简单导读--LOAM.VLOAM.LeGO-LOAM.LIO-SAM.LVI-SAM.LIMO.LIC-FUSION.TVL-SLAM.R2LIVE.R3LIVE 时间线 开篇巨作LO ...

  8. 最近出现的几篇视觉和激光雷达SLAM论文介绍

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/445358895 ...

  9. DynaSLAM II: Tightly-Coupled Multi-Object Tracking and SLAM 论文笔记

    DynaSLAM II: Tightly-Coupled Multi-Object Tracking and SLAM 论文笔记 参考文章 知乎 https://zhuanlan.zhihu.com/ ...

  10. CubeSLAM: Monocular 3D Object SLAM 论文笔记

    CubeSLAM: Monocular 3D Object SLAM 论文笔记 摘要 提出了一种静态和动态环境下单幅图像3D长方体目标检测和多视点目标SLAM的方法,并证明了这两个部分是相互促进的. ...

最新文章

  1. 可能是最详尽的PyTorch动态图解析
  2. ajax无刷新留言板远吗,php+ajax制作无刷新留言板,phpajax刷新留言板_PHP教程
  3. Android热更新方案Robust
  4. java版本微信jssdk、微信验证签名demo(Servlet)
  5. 转:集群和分布式的区别
  6. 使用JDK的密码流的加密怪癖(以及如何做)
  7. 计算机各种编码来历及区别
  8. js如何判断访问来源是来自搜索引擎(蜘蛛人)还是直接访问
  9. Vue音乐播放器入门Demo及Vue环境搭建运行
  10. Pinterest和Instagram哪个更好用?姐妹还是天敌...
  11. 右键一直转圈圈(右键桌面和右键打开文件夹)的两种解决办法小总结
  12. [Serializable]在C#中的作用,.NET 中的对象序列化
  13. c语言学习--计算机软件和硬件
  14. 【教程】美团联盟个人怎么注册推广做外卖cps红包
  15. 基于大数据分析山东2020年高考难度和选科要求(一)
  16. Altium designer AD原理图导入word文档、pdf,生成矢量图的方法;
  17. Apache web服务器目录结构、发布网站
  18. 文丘里洗涤除尘器理论应用实训教学QY-HJGC04
  19. MSP430 IO操作
  20. 【学习笔记】信息系统项目监理“四控三管一协调”以及监理工作的分类和监理单位的作用

热门文章

  1. Android NDK交叉编译sysstat工具
  2. 基于babylon3D模型研究3D骨骼动画(1)
  3. 物体重心的特点是什么_确定物体重心位置的常用方法是什么呢?
  4. H.264再学习 -- 目前主流的几种数字视频压缩编解码标准(转载)
  5. js 根据链接下载 excel 文件
  6. html如何设置本地链接,本地连接受限制或无连接【方法|图文教程】-太平洋IT百科...
  7. Hudi Timeline简析
  8. pythonhistogram设置_python numpy histogram用法及代码示例
  9. 中华人民共和国消费者权益保护法
  10. excel技巧——F9键