目录

基本情况

摘要

I 介绍

II 相关工作

III 坐标系和规定

IV 系统总结

V 视觉里程计

VI 激光雷达里程计

6.1 Sweep-to-Sweep

6.2 Sweep-to-Map

VII实验

VIII 总结

参考


基本情况

  • 出处:Zhang J, Singh S. Visual-lidar odometry and mapping: Low-drift, robust, and fast[C]//2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2015: 2174-2181.
  • 视频演示:https://www.youtube.com/watch?v=-6cwhPMAap8
  • 相关开源代码:https://github.com/Jinqiang/demo_lidar
  • V-LOAM—KITTI odemetry benchmark 长期霸榜第一

摘要

在这里,我们介绍了在基本原理和第一原理方法中(in a fundamental and first principle method),将视觉里程计激光雷达里程计相结合的通用框架。该方法显示出相对于现有技术的性能上的改进,特别是对激进运动的鲁棒性和暂时缺乏视觉特征的改进。所提出的在线方法

  • 从视觉测距法开始,以估计自我运动并以高频率但低保真度记录来自扫描激光雷达的点云。
  • 然后,基于扫描匹配的激光雷达里程计同时优化运动估计点云配准。我们将使用我们自己的实验以及使用KITTI里程表基准收集的数据集显示结果。

我们提出的方法在平均平移和旋转误差方面在基准测试中排名第一,相对位置漂移为0.75%。

除了比较运动估计精度外,我们还评估了传感器套件高速移动并经受明显的环境光照变化时该方法的鲁棒性。

I 介绍

最近在视觉里程计和激光雷达里程计方面取得的独立成果很有希望,因为它们可以为六自由度状态估计、建图甚至障碍物检测提供解决方案。单独使用每一个传感器都存在缺点。

  • 视觉的缺点:视觉里程表方法需要适度的照明条件,如果没有足够的视觉特征,则会失败。
  • 激光的缺点:通过移动激光雷达的运动估计涉及点云中的运动失真,因为在连续激光雷达运动的不同时间接收距离测量。因此,运动常常需要用大量的变量来求解。在退化的场景中,例如那些由平面区域控制的场景,扫描匹配也会失败。

在此,我们提出了一种单目相机三维激光雷达相结合的自我运动估计的基本原理和第一原理方法。我们希望实时准确地估计6自由度运动以及环境的空间度量表示,并在未知环境中导航机器人。虽然相机和激光雷达具有互补的优势和劣势,但使用传统的滤波方法结合将他们比较难。我们的方法是紧耦合了这两种模式,因此它

  • 既能处理包括平移和旋转在内的快速运动,
  • 又能处理完全白化或黑化图像中缺少纹理的情况。

在非病态条件下,高精度的运动估计和环境重建是可能的。

我们提出的方法,即V-LOAM,探索了每种传感器的优点,并弥补了另一种传感器的缺点,因此在性能上比现有技术有了进一步的改进。该方法有两个顺序交错的过程。

  • 第一种方法使用高频视觉里程计作为图像帧速率(60hz)来估计运动
  • 第二种方法使用低频(1hz)的激光雷达里程计来改进运动估计,并消除由视觉里程计漂移引起的点云失真无失真点云被匹配并注册为增量构建地图

其结果是,视觉里程计处理快速运动,激光雷达里程计保证在不理想的照明条件的低漂移和鲁棒性。我们发现这些地图通常是准确的,无需进行后期处理。虽然环路闭合可以进一步改善地图,但我们有意选择不这样做,因为这项工作的重点是推动精确的里程估计的极限。

V-LOAM的基本算法具有一定的通用性,可以适用于不同类型的距离传感器,如飞行时间摄像机。如果先前的映射可用,也可以将该方法配置为仅提供本地化。

除了对Kitti里程计基准的评估[1],我们还进一步试验了广角摄像机和鱼眼摄像机。我们的结论是,鱼眼相机具有更大的视场和更高的图像失真,因而具有更强的鲁棒性,但精度较低。然而,经过扫描匹配细化后,最终的运动估计达到了相同的精度水平。我们的实验结果可以在公开的视频中看到。

II 相关工作

基于视觉和激光雷达的方法通常用于状态估计[2]。对于立体相机[3],[4],基线提供了帮助确定运动比例的参考。然而,如果使用单目相机[5]-[7],在不借助其他传感器或运动假设的情况下,运动的尺度通常是不可解的。RGB-D相机的引入为视觉图像与深度的关联提供了一种有效的方法。使用RGB-D相机进行运动估计[8],[9]可以很容易地进行缩放。一些RGB-D视觉里程计方法也被提出,显示出有希望的结果[10]-[12]。然而,这些方法仅利用深度可用的成像区域,可能在没有深度覆盖的视觉图像中浪费大量区域。我们系统中使用的视觉里程表方法与[8]-[12]相似,因为它们都使用具有附加深度的视觉图像。然而,我们的方法是利用激光雷达的稀疏深度信息。它包括有深度和无深度的特征。

对于3D建图,一个典型的传感器是(2轴)3D激光雷达(13)。然而,这些激光雷达的使用是困难的,因为激光雷达不断范围和移动,点云存在运动失真。消除失真的一种方法是结合其他传感器来恢复运动。例如,Scherer等人的导航系统[14]使用与IMU集成的立体视觉里程计来估计微型飞行器的运动。激光雷达云是通过估计的运动来记录的。Droeschel等人的方法[15]采用了多摄像机视觉里程计,然后是基于多分辨率点云表示的扫描匹配方法。与[14]、[15]相比,我们的方法的不同之处在于,它将相机和激光雷达紧密耦合,这样运动恢复只需要一个相机。该方法还考虑了视觉里程计漂移引起的点云畸变,即在短时间内(1s)将漂移建模为线性运动,并在扫描匹配过程中用线性运动模型进行校正。

典型的去除运动畸变的方法是:在激光帧之间进行插值(比如视觉,轮速计,IMU等)

过去的研究还表明,状态估计只能用三维激光雷达。例如,Tong等人匹配在由2轴激光雷达堆叠激光扫描产生的强度图像中的视觉特征,以解决运动(16)。运动采用匀速高斯过程建模。然而,由于该方法从激光图像中提取视觉特征,需要密集的点云。另一种方法来自bosse和zlot[17],[18]。该方法匹配局部点簇的几何结构。他们使用由二维激光雷达和IMU组成的手持式绘图设备,IMU通过弹簧连接到手杆上[17]。他们还使用多个2轴雷达地图绘制地下矿[ 18 ]。该方法通过对分段数据进行批量优化处理,在分段之间加入边界约束,实现轨迹的恢复。该方法适用于离线调查,但不适用于在线实时应用。

提出的方法基于我们在[19],[20]中的工作,其中视觉里程计方法DEMO和激光雷达里程计方法LOAM分别被提出。LOAM需要平滑运动,并依赖于IMU来补偿高频运动。本文对LOAM进行了改进,使新方法V-LOAM以视觉里程计的输出作为运动先验,然后是lidar里程计。视觉里程计中的摄像机模型也进行了修改,并与鱼眼摄像机兼容。实验结果表明,v-loam具有较低的漂移。结合了高频视觉里程计和鱼眼相机也使系统能够处理快速运动。

III 坐标系和规定

本文所要解决的问题是估计相机和激光雷达系统的运动,并用所估计的运动建立被穿越环境的地图。我们假设摄像机是由一般的中央摄像机模型[21]建模的。有了这样的相机模型,我们的系统可以同时使用普通相机和鱼眼相机(见实验部分)。我们假设摄像机的内部参数是已知的。同时对相机与激光雷达之间的外部参数进行了标定。这允许我们对两个传感器使用一个坐标系,即传感器坐标系。为了计算简单,我们选择传感器坐标系与摄像机坐标系一致-所有激光点在接收时都投影到摄像机坐标系中。作为本文的惯例,我们使用左大写来表示坐标系。在下面,让我们定义

  • 传感器坐标系 {S} 为摄像机光学中心。X轴指向左边,Y轴指向上,Z轴点与摄像机主轴一致。
  • 世界坐标系 {W} 是在起始位置与{S}同向的坐标系。

在定义了假设和坐标系的情况下,我们的里程测量和地图绘制问题被描述为:
在给定视觉图像和激光雷达云图的情况下,确定{S}相对于{W}的姿态,建立{W}中环境的地图。

IV 系统总结

图2示出了软件系统的示意图。整个系统分为两部分。视觉里程计主要估计帧间运动,频率为图像的帧率。特征跟踪模块提取并匹配连续图像之间的视觉特征。深度地图注册块在局部深度地图上注册激光雷达云,并将深度与视觉特征相关联。帧到帧运动估计块利用视觉特征计算运动估计。

激光雷达里程计部分,作者定义一个sweep作为三维激光雷达完成一次全扫描覆盖。如果激光雷达慢轴连续旋转,sweep通常是一个全球面旋转。然而,如果慢轴来回旋转,则sweep是朝着同一方向的顺时针或逆时针方向旋转。在我们的系统中,sweep持续1s。激光雷达里程计部分每次扫描执行一次,处理整个扫描中感知到的点云。首先,sweep到sweep优化模块在连续扫描之间匹配点云,以优化运动估计并消除点云中的失真。然后,扫描到地图构建模块匹配并加入到当前构建地图的点云上,并发布与地图相关的传感器姿态。传感器姿态以高频图像帧的速率输出两部分变换的积分。

本文坐标系以相机坐标系{S} 为主(x left,y upward,z forward),所有点云都会通过外参转换到该坐标系下;设世界坐标系{W} 为起始点。那么位姿求解问题的数学描述为:给定各个坐标系{S} 下的图像和点云,求解所有{S} 在{W} 下的表示,以及{W} 下地图的构建。

 如图 2. 所示,Visual Odometry 作前后帧的特征跟踪(或匹配),结合点云深度信息,作 Frame-to-Frame 的运动位姿估计;Lidar Odometry 则先通过 Sweep-to-Sweep 作运动粗估计,然后用 Sweep-to-Map 作精估计(其中 Sweep 的定义可见 LOAM)。由此输出低频的全局地图,以及高频的位姿估计。

V 视觉里程计

首先用 Visual Odometry 得到的高频位姿估计将点云注册为一个局部的深度图。由此维护三种类型的特征点:1. 从深度图获得深度的特征点;2. 从前后帧三角化获得深度的特征点;3. 没有深度的特征点。这里的特征点提取可采用任意的特征点提取方法,如果采用前后帧特征匹配的策略,则还得作相应的特征描述子提取,如果采用特征跟踪策略,则不需要。

将所有特征点所构成的 residual 累积,然后可用 LM 法求解该非线性问题中 6-DOF 的位姿。考虑到有较大 residual 的特征点大概率是离群点,所以对特征点的 residual 作权重处理,residual 越大,权重越小。

图 3. Edge & Planar Feature

  为了获取特征点的深度,维护一个从点云中采样的在上一帧图像坐标系下的深度图,深度图维护较新的点云深度信息,并且保持一定的点密度。深度图中的点用极坐标形式的 2D KD-tree 存储,具体的特征点深度值计算通过周围深度点构成的平面插值得到。在无法从深度图中获得特征点的深度信息时,如果特征点被跟踪了较长的距离,那么采用三角测量法获得该特征点深度。三种点的可视化如图 3. 所示。

VI 激光雷达里程计

高频的 frame-to-frame Visual Odometry 得到的位姿估计是粗糙且有漂移的,接下来用 Lidar Odometry 作进一步的精估计。激光雷达里程计又基于 coarse-to-fine 的思想,分为 sweep-to-sweep 以及 sweep-to-map 两个步骤。这两个步骤的具体计算过程很相似,只不过前者是前后帧点云的匹配以消除运动引入的点云畸变,后者则是当前帧去畸变的点云与世界坐标系下的地图点云匹配,能消除累积误差。总体上这部分与 LOAM 处理方式一致。

6.1 Sweep-to-Sweep

6.2 Sweep-to-Map

VII实验

VIII 总结

我们提出了一种使用相机和三维激光雷达相结合的实时里程测量和地图绘制方法。这是通过一种视觉里程表方法估计自我运动在高频和激光雷达里程表方法,细化运动估计和纠正漂移在低频。这两个部分的配合可以实现精确和稳健的运动估计,即视觉里程计处理快速运动,而激光雷达里程计保证低漂移。该方法在室内和室外使用我们自己的实验收集的数据集,用广角相机和鱼眼相机进行测试。该方法在Kitti里程计基准上进行了进一步的评估,平均相对位置漂移为0.75%。实验结果还表明了该方法在传感器高速运动和光照变化较大时的鲁棒性。

参考

  • (每日一读2019.10.23)低漂移、鲁棒和快速的视觉-激光里程计和建图(VLoam)
  • VLOAM(Visual-lidar Odometry and Mapping)

论文笔记_S2D.59_2015-ICRA_V-LOAM_低漂移、鲁棒和快速的视觉-激光 里程计和建图相关推荐

  1. (每日一读2019.10.23)低漂移、鲁棒和快速的视觉-激光里程计和建图(VLoam)

    参考:https://www.jianshu.com/p/cb7098567711 论文:pdf 摘要 本文开发了一个低成本的立体视觉惯性定位系统,该系统利用有效的基于多状态约束卡尔曼滤波(MSCKF ...

  2. 3D激光SLAM:LeGO-LOAM论文解读---激光雷达里程计与建图

    3D激光SLAM:LeGO-LOAM论文解读---激光雷达里程计与建图 激光雷达里程计 针对LOAM的改进 激光雷达建图 原文 激光雷达里程计 激光雷达里程计模块的功能就是:估计相邻帧之间的位姿变换. ...

  3. <论文阅读>用于 3D 点线和平面的视觉惯性里程计框架 A Visual Inertial Odometry Framework for 3D Points, Lines and Planes

    被疫情包围了!在家多看看论文吧- 论文地址:A Visual Inertial Odometry Framework for 3D Points, Lines and Planes [摘要]:恢复连续 ...

  4. 论文笔记_S2D.77_2013_TOR_使用RGBD相机的3D建图(RGBD SLAM V2)

    目录 基本情况 摘要 介绍 系统流程 特征提取 运动估计 EMM:Environment Measurement Model 回环检测 图优化 建图OctoMap 参考 基本情况 出处:Endres ...

  5. 论文翻译 | Mask-SLAM:基于语义分割掩模的鲁棒特征单目SLAM

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 本文提出了一种将单目视觉SLAM与基于深度学习的语义分割相结合的新方法.为了稳定运行,vSL ...

  6. 视觉融合里程计SLAM算法SE2Lam解析-论文篇

    解析论文名称是:Visual-Odometric Localization and Mapping for Ground Vehicles Using SE(2)-XYZ Constraints 代码 ...

  7. 论文笔记—LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain

    论文笔记-LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain 论文链接 ...

  8. 论文笔记目录(ver2.0)

    1 时间序列 1.1 时间序列预测 论文名称 来源 主要内容 论文笔记:DCRNN (Diffusion Convolutional Recurrent Neural Network: Data-Dr ...

  9. GNN论文笔记: Graph Neural Networks with convolutional ARMA filters

    0 摘要 流行的图神经网络基于多项式谱滤波器实现图的卷积运算. 在本文中,我们提出了一种新的图卷积层,其灵感来自自回归移动平均(ARMA)滤波器. 与多项式滤波器相比,它提供了更灵活的频率响应,更鲁棒 ...

  10. [论文笔记]Swarm of micro flying robots in the wild

    [摘要]空中机器人被广泛部署,但无人机仍然无法进入茂密森林等高度杂乱的环境,无人机群更是如此.在这些情况下,以前未知的环境和狭窄的走廊加上群体协调的要求可能会带来挑战.为了在野外实现群体导航,我们开发 ...

最新文章

  1. CV00-04-卷积
  2. 智源创新中心——与你同行,用AI改变世界
  3. javascript中常用的
  4. r指定位置插入一列数值
  5. 大数据2019年的三大趋势你看了吗?
  6. 实例分割和语义分割使用labelme制作的数据集如何转换为voc和coco格式的数据
  7. mysql_error 1030
  8. maven gradle等三放jar包仓库
  9. p2p - cdn传输技术杂谈
  10. 猿创征文 | 2022 我的开发者工具
  11. 关于动态创建option 【copy from 姬光】
  12. 运营必备 - PV、UV、IP 分别是什么意思?
  13. VLAN trunk实验
  14. 中国最美的100首古代情诗
  15. 【转载】KaTeX 数学公式大全
  16. 常用小波基函数以及多尺度多分辨率的理解
  17. 使用java的milo框架访问OPCUA服务的方法
  18. CTF---Web入门第九题 FALSE
  19. Mybatis相关:pagehelper--超爽的分页插件
  20. 源程序清单-汽车动力性计算图表软件V1.0

热门文章

  1. 沙绿色background-color:#e5eecc; border:solid 1px #c3c3c3;
  2. Python 学习笔记 - 不断更新!
  3. 2018.11.22 mac中允许所有安装来源的命令 Mac窗口标题显示文件的路径
  4. 第7章--基本统计分析
  5. Nginx正确记录post日志的方法
  6. GZip压缩的js文件IE6下面不能包含script标签
  7. [USACO2006][poj3182]The Grove(巧妙的BFS)
  8. 如何在ASP.NET程序中使用报表查看器控件并传递用户凭据
  9. java基础杂谈(二)
  10. ⭐图例结合超硬核讲解shiro⭐