HyperAI

Gradslam (∇SLAM) Open Source : Les Articles Et Le Code Sont Tous Disponibles

il y a 4 ans
Liste recommandée
神经小兮
特色图像

∇SLAM, proposé par une équipe de Montréal et de l'Université Carnegie Mellon dans un article publié à l'ICRA 2020, résout un problème ouvert auquel sont fréquemment confrontés les systèmes SLAM actuels.

Au cours des deux dernières années, avec le développement rapide des appareils intelligents tels que la conduite autonome et les drones, une technologie clé qui les sous-tend - SLAM (Simultaneous Localization And Mapping) est également devenue célèbre.

SLAM a une histoire de plus de 30 ans. Il s’agit d’une technologie clé permettant aux machines de percevoir et d’estimer des états et d’effectuer des opérations autonomes dans des environnements inconnus.Les machines doivent effectuer des tâches telles que la planification d’itinéraire et la navigation, et la RA et la RV doivent construire des espaces tridimensionnels stables. Ces technologies s’appuient toutes sur l’assistance du SLAM.

En termes simples, SLAM répond à deux questions :« Où suis-je ? » et « Qu’y a-t-il dans mon environnement ? »

Par exemple, les robots balayeurs s'appuient sur des lidars ou des caméras, combinés à la technologie SLAM, pour comprendre clairement la disposition de chaque coin de la pièce, puis construire une carte environnementale pour planifier leur parcours de nettoyage en fonction de ces informations.

SLAM confère au robot balayeur des fonctions de base telles que le positionnement et la planification de trajectoire

Cependant, après des années de développement, les algorithmes SLAM traditionnels sont toujours confrontés au problème ouvert de la non-différenciabilité de bout en bout. Un article publié par une équipe de l’Université de Montréal et de l’Université Carnegie Mellon à l’ICRA 2020 a proposé une solution à ce problème.

∇SLAM, résolvant le problème de goulot d'étranglement de l'algorithme SLAM classique

Actuellement, les algorithmes SLAM classiques incluent Kinect-Fusion, PointFusion et ICP-SLAM.Cependant, comme de nombreux composants de ces méthodes ne sont pas différentiables, l’apprentissage de la représentation pour SLAM a toujours été un problème ouvert. Cela est également devenu un goulot d’étranglement qui entrave le développement du SLAM.

Pour résoudre ces problèmes, de nombreux chercheurs ont commencé à utiliser l’apprentissage profond. Cependant, la plupart de ces études se limitent à des ensembles de données virtuels ou à des environnements spécifiques, et sacrifient même l’efficacité à la précision. Ils ne sont donc pas assez pratiques.

En mai de cette année, lors de l'ICRA 2020 (International Conference on Robotics and Automation), une importante conférence dans le domaine de la robotique et de l'intelligence artificielle, une équipe de l'Université de Montréal et de l'Université Carnegie Mellon a publié un article« ∇SLAM : le SLAM dense rencontre la différenciation automatique », une solution au problème ci-dessus est proposée.

Gradient SLAM : une méthode de mappage dense SLAM qui satisfait la différenciation automatique

L'auteur souligne que dans le système de cartographie dense de SLAM, comme les problèmes d'optimisation et les problèmes de raycast, il existe de nombreuses unités qui ne sont pas différentiables, ce qui rend également la méthode basée sur le gradient peu efficace dans SLAM.

En réponse à cela, les auteurs ont proposé gradslam (∇SLAM) dans l'article, qui est un graphe de calcul différentiable sur SLAM. En utilisant la fonction de différenciation automatique du graphe de calcul, GradSlam (∇SLAM) permet un apprentissage basé sur le gradient entre chacun de ses composants ou l'ensemble du système. 

L'idée centrale de SLAM est de concevoir un graphe de calcul différentiable,Pour représenter les composantes non différentiables de la cartographie dense SLAM

Un système SLAM entièrement différentiable permettrait un apprentissage de représentation piloté par les tâches, puisque le signal d'erreur représentant les performances de la tâche peut être rétropropagé via le système SLAM jusqu'aux données d'observation brutes du capteur.

Le résultat final est que l’équipe a conçu un optimiseur de région de confiance différentiable, un schéma de mesure et de fusion de surface et une différenciation sur les rayons sans sacrifier les performances.Cette fusion de SLAM dense et de graphiques informatiques nous permet de revenir des cartes 3D aux pixels 2D, ouvrant de nouvelles possibilités pour l'apprentissage SLAM basé sur le gradient.

Les auteurs affirment que le cadre de gradslam (∇SLAM) est très généralisable et peut être étendu à n'importe quel système SLAM existant et le rendre différentiable.

La méthode différentiable améliore la reconstruction 3D

L'équipe a mis en œuvre les méthodes SLAM typiques ICP-Odometry, ICP-SLAM, Kinect-Fusion et PointFusion sous forme de graphiques de calcul différentiables, et a analysé la comparaison entre chaque méthode et son homologue non différentiable.

Les résultats montrent que :Il fonctionne bien dans la cartographie ICP-Odométrie et ICP-SLAM, avec une erreur de trajectoire absolue et une erreur de pose relative à un faible niveau.Comme le montre le tableau suivant :

Comparaison des effets de chaque méthode avant et après différenciation

L'adresse officielle du projet :

https://github.com/gradslam/gradslam, vous pouvez l'essayer et découvrir les avantages de la solution gradslam (∇SLAM).

En plus de Github, nous avons également trouvé un service national facile à utiliser. La plateforme de services de conteneurs de puissance de calcul OpenBayes a également lancé un tutoriel pour la formation de modèles, qui peut être exécuté directement dans JupyterNotebook.

Suivez les instructions ci-dessous pour accéder au Jupyter Notebook complet pour gradslam (∇SLAM)

Il suffit d'avoir besoinaccéder openbayes.com En vous inscrivant, vous pouvez obtenir une variété de ressources de puissance de calcul telles que CPU, NVIDIA T4, NVIDIA Tesla V100, etc. Actuellement, des quotas de puissance de calcul gratuits sont émis sur votre compte chaque semaine pendant la période de test interne.

En plus de fournir divers conteneurs de puissance de calcul, OpenBayes fournit également des ensembles de données publics, des modèles pré-entraînés et des Jupyter Notebooks pour de nombreux projets populaires, qui peuvent être exécutés en un clic pour une utilisation facile.

Instructions d'inscription 

  • Visitez openbayes.com 
  • Avec le code d'invitation : HyperAI

Inscrivez-vous en tant que nouvel utilisateur pour obtenir

  • Quota CPU gratuit :300 minutes/semaine
  • Quota vGPU gratuit :180 minutes/semaine

 Instructions d'utilisation du Gradslam (∇SLAM) 

  • Après avoir enregistré openbayes
  • Accéder à la console - Tutoriel public

La technologie SLAM est reconnue par l’industrie comme la technologie de pointe en matière de positionnement spatial dans le domaine visuel. Des drones à la conduite sans pilote, des robots balayeurs aux domaines VR/AR, SLAM peut être vu dans ces domaines populaires.

Alors, si vous souhaitez également connaître les derniers résultats de la recherche scientifique dans le domaine du SLAM, vous pourriez aussi bien étudier le projet gradslam (∇SLAM) ce week-end.

Adresse du document :

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

Adresse GitHub du projet :

https://github.com/gradslam/gradslam

Adresse du notebook Jupyter Gradslam (∇SLAM) :

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