Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

Keyframe

  • Aussi appelé: key frame, KF
  • Catégorie: State estimation & navigation › Localisation
  • Mots-clés: slam, visual-odometry, mapping, state-estimation, bundle-adjustment

Image sélectionnée qu'un système de SLAM ou de cartographie conserve, avec sa pose et ses observations, pour une optimisation ultérieure, tandis que la plupart des autres images sont utilisées brièvement puis écartées.

Définition

Une image clé (keyframe) est l'une des quelques images de caméra ou des quelques scans de capteur qu'un système de SLAM, d'odométrie ou de cartographie décide de conserver. Chaque image entrante sert à suivre le mouvement du capteur, mais seules les images clés sont stockées avec leur pose estimée et leurs observations, comme des caractéristiques d'image, de la profondeur ou des points LiDAR. La carte et la trajectoire sont ensuite affinées à partir de ces images clés plutôt que de chaque image. L'approche a été établie pour le SLAM visuel en temps réel par PTAM, de Georg Klein et David Murray en 2007, qui séparait le suivi et la cartographie en fils d'exécution distincts, et elle a été développée ensuite dans des systèmes comme ORB-SLAM.

La règle de création d'une nouvelle image clé est un choix de conception central. Les critères courants incluent le temps ou la distance depuis la dernière image clé, une parallaxe suffisante pour trianguler de nouveaux points, et une baisse du recouvrement entre la vue actuelle et la dernière image clé, mesuré par exemple par les caractéristiques partagées ou par les voxels de carte partagés. Les systèmes éliminent aussi (cull) les images clés devenues redondantes. Trop peu d'images clés, et le suivi est perdu ou la carte est clairsemée ; trop, et l'optimisation ralentit sans ajouter d'information.

Les images clés sont ce qui rend le SLAM fondé sur l'optimisation abordable. L'ajustement de faisceaux et l'optimisation de graphe de poses s'exécutent sur les images clés, souvent seulement celles d'une fenêtre locale, et la recherche de fermeture de boucle compare les nouvelles images aux images clés stockées. Dans les systèmes de cartographie implicite neuronale et de cartographie dense, un ensemble d'images clés est rejoué pendant l'entraînement de la carte afin que les régions observées plus tôt ne soient pas oubliées à mesure que le réseau ou la grille de caractéristiques est mis à jour avec de nouvelles images.

Pourquoi c'est important

Les capteurs produisent bien plus d'images qu'un robot ne peut en optimiser en temps réel. La sélection des images clés décide de l'information conservée ; elle influe donc directement sur la qualité de la carte, la robustesse du suivi, l'usage mémoire et le budget de calcul de tout système de SLAM qui s'appuie dessus.

Applications principales

  • Ajustement de faisceaux local en SLAM visuel et visuel-inertiel
  • Détection de fermeture de boucle dans une base d'images clés stockées
  • Rejeu d'observations passées en cartographie implicite neuronale et dense
  • Relocalisation après une perte de suivi
  • Construction de cartes légères pour la localisation à long terme

En pratique

Une équipe qui fait tourner un système de SLAM visuel-inertiel sur un dispositif tenu à la main à 30 images par seconde constate que seules quelques images clés par seconde sont créées en marchant et presque aucune à l'arrêt. Dans un couloir pauvre en caractéristiques, le suivi devient fragile ; abaisser le seuil de recouvrement pour que les images clés soient insérées plus tôt aide à conserver suffisamment de points triangulés. Pour un système de cartographie LiDAR neuronale, elle règle la règle des images clés de sorte qu'un nouveau scan soit conservé quand son recouvrement avec la dernière image clé tombe sous un seuil, et chaque étape d'optimisation échantillonne des rayons dans l'image courante et dans une sélection d'images clés stockées. Elle surveille le nombre d'images clés sur les longues sessions, car un ensemble non borné finira par ralentir l'optimisation.

Idées reçues

  • Chaque image entre dans la carte — la plupart des images ne servent qu'au suivi ; seules les images clés sélectionnées sont stockées et optimisées
  • Plus d'images clés donnent toujours une meilleure carte — les images clés redondantes ajoutent du calcul pour peu d'information nouvelle, c'est pourquoi les systèmes les éliminent
  • Une image clé en SLAM est la même chose qu'une image clé en animation — en SLAM, c'est une observation de capteur stockée avec une pose, pas une pose fixée à la main servant à l'interpolation

Qui devrait le savoir

  • Ingénieurs en SLAM et en odométrie visuelle
  • Développeurs de systèmes de cartographie 3D neuronale et dense
  • Équipes de navigation de drones et de robots mobiles
  • Étudiants en vision par ordinateur qui étudient la structure à partir du mouvement

Technologies associées

  • ORB-SLAM
  • PTAM
  • Ajustement de faisceaux (Bundle Adjustment)
  • Odométrie visuelle-inertielle (Visual-Inertial Odometry)
  • Sac de mots visuels (Bag of Visual Words)

Termes associés

  • SLAM
  • Visual Odometry
  • Pose Graph Optimization
  • Neural Implicit Representation
  • Neural Radiance Field
  • Loop Closure

Projets associés

  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.