超全SLAM技术及应用介绍
SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。问题可以描述为:将一个机器人放入未知环境中的未知位置,是否有办法让机器人一边逐步描绘出此环境完全的地图,所谓完全的地图(a consistent map)是指不受障碍行进到房间可进入的每个角落。SLAM最早由Smith、Self和Cheeseman于1988年提出。由于其重要的理论与应用价值,被很多学者认为是实现真正全自主移动机器人的关键。
词语解释
Simultaneous Localization and Mapping
Simultaneous Localization and Mapping, 同步定位与建图。
SLAM问题可以描述为: 机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。
Scanning Laser Acoustic Microscope
Scanning Laser Acoustic Microscope, 激光扫描声学显微镜。
激光扫描声学显微镜是一种强有力的广泛应用于诸如工业用材料和生物医学领域的无损检测工具,其使用的频率范围为10MHz ~ 500MHz。
Lymphocyte Activation Molecule
Lymphocyte Activation Molecule, 医学用语。
Supersonic Low Altitude Missile
SLAM — Supersonic Low Altitude Missile(超音速低空导弹)的缩写,是美国的一项导弹研制计划。
Symmetrically Loaded Acoustic Module
SLAM是Symmetrically Loaded Acoustic Module的英文缩写 [1] ,中文意思是平衡装载声学模块。
Satellite Link Attenuation Model
SLM是Satellite Link Attenuation Model的英文缩写 [2] ,中文意思是卫星链路衰减模型。
实时SLAM的未来以及深度学习与SLAM的比较
SfM/SLAM 基本原理:一个场景的3D结构是根据点观察和固有的摄像头参数,从摄像头的估计的运动中计算出来的
SfM 软件:Bundler 是最成功的 SfM 开源库之一
这里给出一些流行的 SfM 相关的软件库:
Bundler:一个开源的运动恢复结构工具包
Libceres:一个非线性最小二乘极小化工具(对束调整(bundle adjustment)问题很有用)
Andrew Zisserman 的多视图几何 MATLAB 函数
谷歌无人驾驶汽车的感知系统
第二部分:实时 SLAM 的未来
MonoSLAM
PTAM
FAB-MAP
DTAM
KinectFusion
机器人视觉的一本新书?
连续轨迹 vs 离散时间点 SLAM/SfM 通常使用离散时间点,但为什么不使用连续的呢?
解决视觉 SLAM 中卷帘式快门相机的危害
工作中的 LSD-SLAM:LSD-SLAM同时生成一个摄像头轨迹和一个半密集的3D场景重建.这种方法实时工作,不使用特征点作为图元,并执行直接的图像到图像对准
全方位的 LSD-SLAM 模型
Stereo LSD-SLAM 在 KITTI vehicle-SLAM 数据集上得到了优异结果
运行 Stereo LSD-SLAM 的四轴无人机
SLAM 系统构建上,基于特征的方法 vs 直接方法
移动定位:Sattler 的关键问题是使用单张智能手机图片在大城市里定位你自己
基于特征的方法 vs 直接方法
谷歌的Tango项目
Tango 项目里的循环闭合
这种图像到图像矩阵揭示一种寻找环路闭合的新方法。可在该 YouTube 视频中查看工作中的算法
图片来自 Kintinuous,Whelan 的 Elastic Fusion 的早期版本
Newcombe 的 DynamicFusion 算法。该技术在声望很高的 CVPR 2015中获得最佳论文奖
Andrew 复古的视觉 SLAM 配置
第三部分:深度学习 vs SLAM
人们经常谈到将语义整合进 SLAM,但说起来容易做起来难。图片来自 Moreno 的博士论文(142 页):密集型语义 SLAM
通过卷积神经网络学习立体相似度函数,来自 Yan LeCun 及其合作者
第四部分:结语
集成语义信息:视觉 SLAM 的下一个前沿. 来自 Arwen Wallington 博客的脑图
今天的 SLAM 系统能帮助机器在几何上理解眼前的世界(即在本地坐标系中构建关联),而今天的深度学习系统能帮助机器进行分类推理(即在不同的对象实例之上构建关联)。总的来说,在视觉 SLAM 上,我与 Newcombe 和 Davison 一样兴奋,因为基于视觉的算法将会将增强现实和虚拟现实转变成一个价值数十亿美元的产业。但是,我们不应忘记保持对那个万亿美元市场的关注,那个将重新定义 “工作” 的市场——机器人。机器人 SLAM 的时代很快就要到来了。
SLAM的前世今生
▌SLAM的前世
我之前从本科到研究生,一直在导航与定位领域学习,一开始偏重于高精度的惯性导航、卫星导航、星光制导及其组合导航。出于对实现无源导航的执念,我慢慢开始研究视觉导航中的SLAM方向,并与传统的惯性器件做组合,实现独立设备的自主导航定位。
▌离不开这两类传感器
目前用在SLAM上的Sensor主要分两大类,激光雷达和摄像头。
这个小视频是宾大的教授kumar做的特别有名的一个demo,是在无人机上利用二维激光雷达做的SLAM。
▌最近流行的结构光和TOF
▌SLAM算法实现的4要素
SLAM算法在实现的时候主要要考虑以下4个方面吧:
1. 地图表示问题,比如dense和sparse都是它的不同表达方式,这个需要根据实际场景需求去抉择
2. 信息感知问题,需要考虑如何全面的感知这个环境,RGBD摄像头FOV通常比较小,但激光雷达比较大
3. 数据关联问题,不同的sensor的数据类型、时间戳、坐标系表达方式各有不同,需要统一处理
4. 定位与构图问题,就是指怎么实现位姿估计和建模,这里面涉及到很多数学问题,物理模型建立,状态估计和优化