HyperAI

Gradslam (∇SLAM) Open Source: Papers and Code Are All Available

4 years ago
Recommended List
神经小兮
特色图像

∇SLAM, proposed by a team from Montreal and Carnegie Mellon University in a paper published at ICRA 2020, solves an open problem commonly faced by current SLAM systems.

In the past two years, with the rapid development of intelligent devices such as autonomous driving and drones, a key technology behind them - SLAM (Simultaneous Localization And Mapping) has also become famous.

SLAM has a history of more than 30 years. It is a key technology for machines to perceive and estimate states and perform autonomous operations in unknown environments.Machines need to perform tasks such as path planning and navigation, and AR and VR need to build stable three-dimensional spaces. These technologies all rely on the assistance of SLAM.

In simple terms, SLAM answers two questions:“Where am I?” and “What is in my environment?”

For example, sweeping robots rely on lidar or cameras, combined with SLAM technology, to clearly understand the layout of every corner of the room, and then build an environmental map to plan their cleaning path based on this information.

SLAM gives the sweeping robot core functions such as positioning and path planning

However, after years of development, traditional SLAM algorithms still face the open problem of end-to-end non-differentiability. A paper published by a team from the University of Montreal and Carnegie Mellon University at ICRA 2020 proposed a solution to this problem.

∇SLAM, solving the bottleneck problem of classic SLAM algorithm

At present, the classic SLAM algorithms include Kinect-Fusion, PointFusion and ICP-SLAM.However, since many components in these methods are not differentiable, SLAM representation learning has always been an open problem, which has become a bottleneck hindering the development of SLAM.

To solve such problems, many researchers have begun to use deep learning. However, most of these studies are limited to virtual data sets or specific environments, and even sacrifice efficiency for accuracy. Therefore, they are not practical enough.

In May of this year, at ICRA 2020 (International Conference on Robotics and Automation), an important conference in the field of robotics and artificial intelligence, a team from the University of Montreal and Carnegie Mellon University published a paper"∇SLAM: Dense SLAM meets Automatic Differentiation", a solution to the above problem is proposed.

Gradient SLAM: A SLAM dense mapping method that satisfies automatic differentiation

The author points out that in the dense mapping system of SLAM, such as optimization problems and raycast problems, there are many units that are not differentiable, which also makes the gradient-based method not very successful in SLAM.

In this regard, the author proposed gradslam (∇SLAM) in the paper, which is a differentiable computational graph on SLAM. Using the automatic differentiation function of the computational graph, GradSlam (∇SLAM) allows gradient-based learning between each of its components or the entire system. 

The core idea of ∇SLAM is to design a differentiable computational graph,To represent the non-differentiable components of SLAM dense mapping

A fully differentiable SLAM system would enable task-driven representation learning, since the error signal representing the task performance can be back-propagated through the SLAM system to the raw sensor observation data.

The end result is that the team designed a differentiable trust-region optimizer, surface measurement and fusion scheme, and differentiation over rays without sacrificing performance.This fusion of dense SLAM and computational graphics enables us to work our way back from 3D maps to 2D pixels, opening up new possibilities for gradient-based SLAM learning.

The authors state that the framework of gradslam (∇SLAM) is very generalizable and can be extended to any existing SLAM system and make it differentiable.

Differentiable method makes 3D reconstruction better

The team implemented typical SLAM methods ICP-Odometry, ICP-SLAM, Kinect-Fusion, and PointFusion as differentiable computational graphs, and analyzed the comparison between each method and its non-differentiable counterpart.

The results show that:It performs well in ICP-Odometry and ICP-SLAM mapping, with both absolute trajectory error and relative pose error at a low level.As shown in the following table:

Comparison of the effects of each method before and after differentiation

The official address of the project:

https://github.com/gradslam/gradslam, you can try it out and experience the advantages of the gradslam (∇SLAM) solution.

In addition to Github, we also found a domestic service that is easy to operate. The computing power container service platform OpenBayes also launched the model training tutorial, which can be run directly in JupyterNotebook.

Follow the prompts below to access the full Jupyter Notebook for gradslam (∇SLAM)

Just needaccess openbayes.com By registering, you can obtain a variety of computing power resources such as CPU, NVIDIA T4, NVIDIA Tesla V100, etc. Currently, free computing power quotas are issued to your account every week during the internal test period.

In addition to providing various computing power containers, OpenBayes also provides public data sets, pre-trained models, and Jupyter Notebooks for many popular projects, which can be run with one click for easy operation.

Registration Instructions 

  • Visit openbayes.com 
  • With invitation code: HyperAI

Register as a new user to get

  • Free CPU quota:300 minutes/week
  • Free vGPU quota:180 minutes/week

 Gradslam (∇SLAM) operation instructions 

  • After registering openbayes
  • Access the Console - Public Tutorial

SLAM technology is recognized by the industry as the cutting-edge direction of spatial positioning technology in the visual field. From drones to unmanned driving, from sweeping robots to VR/AR fields, SLAM can be seen in these popular fields.

So, if you also want to know the latest scientific research results in the field of SLAM, you might as well study the gradslam (∇SLAM) project this weekend.

Paper address:

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

Project GitHub address:

https://github.com/gradslam/gradslam

Gradslam (∇SLAM) Jupyter Notebook Address:

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