PyPose
Bibliothèque PyTorch pour la robotique différentiable avec apprentissage profond et optimisation de groupes de Lie
Licence
Apache-2.0
Aperçu
PyPose est une bibliothèque basée sur PyTorch qui relie l'apprentissage profond et l'optimisation basée sur la physique pour la robotique. Elle fournit des implémentations différentiables d'opérations de groupes de Lie, de filtres de Kalman (EKF, UKF), d'optimisation de graphes de poses, d'optimiseurs du second ordre (Gauss-Newton, Levenberg-Marquardt), de préintégration IMU et de contrôle LQR — le tout intégré avec l'autograd de PyTorch pour le calcul de gradients de bout en bout à travers des piles robotiques complètes.
PyPose relie l'apprentissage profond et l'optimisation basée sur la physique pour la robotique en fournissant des opérations différentiables de groupes de Lie, des filtres d'estimation d'état et des optimiseurs du second ordre dans PyTorch. Il permet l'apprentissage basé sur les gradients de bout en bout à travers des pipelines complets de perception et de contrôle robotique.
Pourquoi c'est important
PyPose comble un manque critique dans les logiciels robotiques en rendant les algorithmes classiques différentiables et compatibles avec l'apprentissage profond moderne. Il permet aux chercheurs de combiner la généralisation des méthodes basées sur la physique avec la flexibilité des réseaux de neurones pour le SLAM, le contrôle et l'estimation d'état.
Le problème résolu
Les algorithmes robotiques traditionnels pour le SLAM, le contrôle et l'estimation d'état ne sont pas différentiables, les rendant incompatibles avec les pipelines d'entraînement d'apprentissage profond. PyPose encapsule ces algorithmes dans des opérations différentiables PyTorch, permettant l'apprentissage basé sur les gradients à travers des piles robotiques complètes.
Points clés
- Opérations différentiables de groupes de Lie (SO3, SE3, Sim3) dans PyTorch
- Estimation d'état : EKF, UKF, filtre particulaire, préintégration IMU
- Optimiseurs du second ordre : Gauss-Newton, Levenberg-Marquardt
- Installable via pip avec intégration complète de l'autograd PyTorch
Pour qui
- Chercheurs en robotique à l'intersection de l'apprentissage profond et des méthodes classiques
- Chercheurs en SLAM et odométrie visuelle cherchant des pipelines différentiables
- Praticiens de l'apprentissage robotique nécessitant des a priori physiques dans les réseaux de neurones
Limites
- Nécessite une familiarité avec PyTorch et la théorie des groupes de Lie
- Les performances pour le SLAM à très grande échelle peuvent ne pas égaler les implémentations C++ dédiées
- La bibliothèque est encore en développement — certaines fonctionnalités avancées peuvent être incomplètes