gradslam(∇SLAM)开源:论文、代码全都有

By 超神经

内容提要:来自蒙特利尔、卡内基梅隆大学的团队,在 ICRA 2020 上发表的论文中所提出的 ∇SLAM,解决了当下 SLAM 系统普遍所面临的一个开放性问题。

关键词:SLAM  室内 3D 地图重建

近两年来,随着自动驾驶、无人机等智能设备的迅猛发展,其背后的一项关键技术——SLAM,(Simultaneous Localization And Mapping,中文译名:同时定位与地图构建)也名声大噪。

SLAM 发展距今已有 30 余年的历史,是机器在未知环境下,感知和状态估计、进行自主作业的关键技术,可以说,机器要执行路径规划、导航等任务,AR、VR 构建稳定的三维空间,这些技术都离不开 SLAM 的辅助。

通俗点来说,SLAM 就解答两个问题:「我在哪儿?」和「我的环境里有啥?」

比如扫地机器人这类,就是依靠激光雷达或摄像头,再结合 SLAM 技术,才能清楚房间的角角落落是如何布局的,然后构建环境地图,根据这些信息来规划自己的打扫路径。

SLAM 赋予扫地机器人定位、路径规划等核心功能

不过,发展多年以来,传统的 SLAM 算法仍面临端到端不可微的开放性问题,来自蒙特利尔大学、卡内基梅隆大学的团队在 ICRA 2020 发表的论文,则针对这一问题提出了解决办法。

 ∇SLAM,解决经典 SLAM 算法瓶颈问题

目前,经典的 SLAM 算法有 Kinect-Fusion、PointFusion 和 ICP-SLAM 等,但由于这些方法中,很多组件是不可微分的,所以,SLAM 的表示学习一直是一个开放性的问题。这也成为了阻碍 SLAM 发展的瓶颈。

为了解决此类问题,许多研究者开始使用深度学习。但是,这些研究大多限于虚拟数据集或特定环境,甚至为了准确性而牺牲效率。因此,它们不够实用。

在今年 5 月,在机器人与人工智能领域的重要会议 ICRA 2020(International Conference on Robotics and Automation,机器人与自动化国际会议)上,来自蒙特利尔大学、卡内基梅隆大学的团队,发表了论文《∇SLAM: Dense SLAM meets Automatic Differentiation》,提出了以上问题的一个解决方法。

梯度SLAM:一种满足自动微分的SLAM密集建图方法

http://montrealrobotics.ca/gradSLAM/paper.pdf

作者指出,在 SLAM 的密集建图系统中,比如优化(Optimization)问题,光线投射(Raycast)问题等,有很多单元是不可被微分的,这也使得基于梯度的方法在 SLAM 中没有取得很大的成功。

对此,作者在论文中提出了  gradslam(∇SLAM),这是一种在 SLAM 上的可微计算图。利用计算图的自动微分功能, gradslam(∇SLAM)允许在其每个组件或整个系统之间进行基于梯度的学习。 

∇SLAM 的核心思想是设计了可微分的计算图

来表示 SLAM 密集建图中不可微分的组件

一个完全可微分的 SLAM 系统,将使任务驱动的表示学习成为可能,因为表示任务性能的误差信号,可以通过 SLAM 系统,反向传播到原始传感器观察数据中。

最终结果是,团队在不牺牲性能的情况下,设计了可微分的信赖域(trust-region)优化器、表面测量和融合方案,以及对光线上的微分。这种密集的 SLAM 与计算图形的融合,使大家能够从 3D 地图一路回溯到 2D 像素,为基于梯度的 SLAM 学习开辟了新的可能性。

作者表示, gradslam(∇SLAM)的框架非常具有泛化性,可以扩展到任何现有的 SLAM 系统并使其可微。

 可微分大法,让 3D 重建效果更好

团队对典型的 SLAM 方法 ICP-Odometry、ICP-SLAM、Kinect-Fusion 以及 PointFusion,实现为可微分计算图,并分析了每种方法与其不可微的对应方法的比较。

结果表明:在 ICP-Odometry 和 ICP-SLAM 建图上的表现良好,绝对轨迹误差和相对位姿误差都呈现了一个较低的水平。如下表所示:

每种方法不微分和微分后的效果对比

项目的官方地址:

https://github.com/gradslam/gradslam,可以动手实操一下,感受 gradslam(∇SLAM) 方案的优势。

除了 Github 以外,我们还找到了一个方便操作的国内服务,算力容器服务平台 OpenBayes 也上线了该模型训练教程,可以直接在 JupyterNotebook 中运行。

根据下方提示,可访问 gradslam(∇SLAM)

的完整 JupyterNotebook

只需要访问 openbayes.com 注册,就可以获得 CPU、NVIDIA T4、NVIDIA Tesla V100 等多种算力资源,目前在内测期间每周都有免费算力额度发放至账户。

OpenBayes 除了提供各类算力容器,还有公开数据集、预训练模型、以及很多热门项目的 Jupyter Notebook,一键运行,方便操作。

 注册说明 

访问 openbayes.com 

凭邀请码:HyperAI

注册新用户即可获得

免费 CPU 额度:300 分钟/周

免费 vGPU 额度:180 分钟/周

 gradslam(∇SLAM)运行说明 

注册 openbayes 完成后

访问控制台-公共教程

SLAM 技术已是业界公认的视觉领域空间定位技术的前沿方向视觉领域空间定位技术的前沿方向,从无人机到无人驾驶,从扫地机器人到 VR/AR 领域,这些热门领域都可看到 SLAM 的身影。

所以,如果你也想了解 SLAM 方向的最新科研成果,不如在这个周末好好研究gradslam(∇SLAM)项目。

论文地址:

http://montrealrobotics.ca/gradSLAM/paper.pdf

项目 GitHub 地址:

https://github.com/gradslam/gradslam

gradslam(∇SLAM)JupyterNotebook 地址:

https://openbayes.com/console/openbayes/containers/HoveymNsfrT

—— 完 ——

扫描二维码,加入讨论群

获得更多优质数据集

了解人工智能落地应用

关注顶会&论文

回复「读者」了解详情

更多精彩内容(点击图片阅读)

SLAM地图构建与定位算法,含有卡尔曼滤波和粒子滤波器的程序 SLAM算法的技术文档合集(含37篇文档) slam算法的MATLAB源代码,国外的代码 基于角点检测的单目视觉SLAM程序,开发平台VS2003 本程序包设计了一个利用Visual C++编写的基于EKF的SLAM仿真器 Slam Algorithm with data association Joan Solà编写6自由度扩展卡尔曼滤波slam算法工具包 实时定位与建图(SLAM),用激光传感器采集周围环境信息 概率机器人基于卡尔曼滤波器实现实时定位和地图创建(SLAM算法 机器人地图创建新算法,DP-SLAM源程序 利用Matlab编写的基于EKF的SLAM仿真器源码 机器人定位中的EKF-SLAM算法,实现同时定位和地图构建 基于直线特征的slam机器人定位算法实现和优化 SLAM工具箱,很多有价值的SLAM算法 EKF-SLAM算法对运动机器人和周围环境进行同步定位和环境识别仿真 SLAM using Monocular Vision RT-SLAM机器人摄像头定位,运用多种图像处理的算法 slam(simultaneous localization and mapping)仿真很好的入门 SLAM自定位导航的一个小程序,适合初学者以及入门者使用 slam算法仿真 slam仿真工具箱:含slam的matlab仿真源程序以及slam学习程序 移动机器人栅格地图创建,SLAM方法,可以采用多种地图进行创建 SLAM算法程序,来自悉尼大学的作品,主要功能是实现SLAM算法SLAM算法中的EKF-SLAM算法进行改进,并实现仿真程序 SLAM的讲解资料,机器人导航热门方法
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值