Contents — find the section you need
Imaginez-vous en train de vous déplacer avec une caméra : dans la séquence d’images, le coin d’un mur ou un panneau se déplace légèrement à chaque prise. Simultanément, un accéléromètre et un gyroscope mesurent à haute fréquence l’accélération et la rotation de l’appareil pendant ce même intervalle. L’odométrie visuelle (VO) estime la pose relative, la vitesse et la position jusqu’à présent à partir des données de la VO ; l’odométrie visuelle-inertielle (VIO) les estime à partir des deux. C’est une technologie essentielle pour les drones volant en intérieur, les casques de réalité augmentée/réalité virtuelle, les scanners 3D portables et les robots mobiles.
La VO/VIO est parfois considérée comme synonyme de SLAM, mais leurs rôles diffèrent légèrement. L’odométrie est une étape préliminaire qui produit une trajectoire relative lisse à court terme, et son erreur s’accumule par principe. Le SLAM utilise une carte, la reconnaissance de lieux et la fermeture de boucle pour corriger globalement cette erreur accumulée. Cet article s'intéresse moins à la cartographie d'ensemble qu'à l'intégration du mouvement d'une image à l'autre, à la fusion des données de l'IMU et aux situations où il convient de se méfier de l'estimation.
Exemple de caméra embarquée
Exemple de centrale inertielle GNSS/INSImages : Car caméra de fenêtre du système Mobileye" (Ranbar, CC BY-SA 4.0) / Xsens MTi-G" (Kallap85, CC BY-SA 4.0), Wikimedia Composants communs. Capteurs représentatifs, combinaison de produits VO/VIO non requise.
0. Résumé en 30 secondes
-
La vision optique (VO) estime séquentiellement le mouvement de la caméra à partir des correspondances d'images ou des changements d'apparence des pixels. La VO monoculaire ne peut pas observer l'échelle absolue de la translation et l'erreur s'accumule avec le temps. La stéréoscopie, le RGB-D, la taille connue de l'objet, la détection inertielle et les roues fournissent tous l'échelle.
-
Le système d'imagerie virtuelle (VIO) fusionne les observations basse fréquence et insensibles à la dérive de la caméra avec les observations haute fréquence de l'unité de mesure inertielle (IMU), précises sur de courts intervalles mais sujettes à la dérive due au biais. Le gyroscope fournit la rotation ; l'accéléromètre complète l'information permettant de distinguer la gravité de l'accélération.
-
La préintégration de l'IMU compresse les nombreux échantillons de l'IMU entre les images clés en une seule contrainte relinéarisable du biais. C'est ce qui rend l'optimisation par fenêtre glissante calculable.
-
L'initialisation est la partie la plus difficile. Sans une parallaxe suffisante, une excitation incluant la rotation, l'estimation du biais à l'arrêt, la synchronisation temporelle caméra-IMU et l'étalonnage extrinsèque, il est impossible de dissocier l'échelle, la gravité, la vitesse et le biais.
-
L'évaluation doit indiquer non seulement l'erreur moyenne, mais aussi l'ATE/RPE, la dérive par intervalle, le taux d'échec, la latence, l'utilisation du CPU/GPU et si la trajectoire a utilisé une relocalisation. Les textures peu détaillées, les objets dynamiques, le flou de mouvement, l'effet de rolling shutter, les chocs et le décalage de synchronisation sont les causes classiques d'échec.
1. Ce que VO estime et ce qu'il n'estime pas
Indiquez la pose du repère caméra ou IMU B par rapport au repère monde W à l'instant k sous la forme de la position \mathbf{p}_{WB,k} et de la rotation R_{WB,k}. La sortie principale de la VO est la transformation relative entre images adjacentes ou images clés.
Dans les méthodes de suivi de caractéristiques, la matrice essentielle est estimée à partir des points correspondants via RANSAC, et la direction de rotation et de translation en est déduite. Dans les méthodes stéréo/RGB-D/basées sur une carte, qui disposent déjà de points 3D, PnP est utilisé sur les correspondances 2D-3D. En VO directe, plutôt que de faire correspondre des descripteurs explicites, la pose est optimisée afin que les valeurs de pixels corrigées de l'exposition concordent à leur emplacement projeté.
Quelle que soit la méthode utilisée, la VO est une forme d'estimation inertielle qui intègre la distance parcourue depuis la dernière image. Sans carte externe ni boucle de fermeture, même une infime erreur de pose relative persiste. L'erreur de position augmente généralement avec le temps et la distance parcourue, et même si vous parcourez un long couloir en faisant des allers-retours jusqu'à votre point de départ, la trajectoire ne sera pas bouclée. Il ne s'agit pas simplement d'un problème d'implémentation ; c'est une propriété inhérente à un problème qui accumule les observations locales de manière séquentielle.
Le problème de l'échelle monoculaire
Une correspondance monoculaire calibrée entre deux vues contraint E=[\mathbf{t}]_\times R, mais ne détermine pas la longueur de \mathbf{t}. En effet, la mise à l'échelle de chaque point 3D et translation par s>0 laisse les projections d'image inchangées. Une pose monoculaire en vision par ordinateur peut sembler précise alors que l'unité de position est arbitraire ; or, si l'échelle fluctue d'une image à l'autre, même la forme de la trajectoire se dégrade.
Avec un système stéréoscopique à base connue B, la profondeur peut être reconstituée à partir de la disparité d comme Z=fB/d. Le format RGB-D attribue une échelle fixe à la profondeur propre au capteur. En vision par ordinateur, l'accélération étant mesurée en m/s² et l'intensité de la gravité étant quasiment connue, une excitation de mouvement suffisante permet d'aligner l'échelle arbitraire du système visuel sur l'échelle physique. Cependant, la simple fixation d'une centrale inertielle (IMU) ne produit pas automatiquement l'échelle : à l'arrêt, en mouvement à vitesse constante, sur un intervalle trop court ou avec un décalage temporel incorrect, l'échelle et le biais se confondent.
2. Observations de la caméra : Méthodes basées sur les caractéristiques et méthodes directes
La méthode VO basée sur les caractéristiques utilise les correspondances suivies par ORB, SIFT, FAST+KLT et des méthodes similaires. Pour une nouvelle observation 2D \mathbf{z}_{ij} et un point de repère \mathbf{P}_j d'une image, le résidu de projection est :
où \pi([X,Y,Z]^\mathsf{T})=(X/Z,Y/Z)^\mathsf{T} représente la division perspective. RANSAC élimine les discordances, et une perte de Huber (ou une fonction similaire) évite de surpondérer les valeurs aberrantes restantes. Les méthodes basées sur les caractéristiques sont relativement robustes aux variations d'exposition et sont plus faciles à visualiser et à déboguer géométriquement.
Les méthodes directes minimisent le résidu de luminosité des pixels ou petites zones correspondantes. Avec les paramètres d'exposition a_i,b_i, le résidu en un point \mathbf{u} peut s'écrire approximativement comme suit :
Cette méthode peut exploiter de nombreux pixels texturés, mais elle est sensible à la constance de la luminosité. Hypothèses, effet de rolling shutter, flou, exposition automatique et réflexions. Les méthodes semi-directes adoptent une approche intermédiaire : les pixels pour un suivi grossier et les caractéristiques pour la phase finale.
| Méthode | Observation primaire | Points forts | Conditions défavorables | Exemples représentatifs |
|---|---|---|---|---|
| VO basée sur les caractéristiques | Reprojection par points clés | Facile à expliquer, relativement robuste aux variations d'éclairage | Faible texture, caractéristiques répétitives | Famille ORB-SLAM, VINS-Mono |
| Directe / Semi-directe | Luminosité des pixels/patchs | Informations denses, suivi subpixel | Changement d'exposition, flou, réflexion | DSO, SVO |
| VIO monoculaire | Image + IMU | Légère, l'échelle devient observable | Sensible à l'initialisation/synchronisation | VINS-Mono, OpenVINS |
| VIO stéréo | Image gauche/droite + IMU | Échelle immédiate, initialisation stable | Consommation d'énergie, synchronisation/étalonnage gauche-droite | VINS-Fusion, Basalt |
3. Ce que mesure l'IMU et pourquoi on ne peut pas l'intégrer directement
Une IMU fournit la vitesse angulaire du gyroscope (\tilde{\boldsymbol\omega}) et la force spécifique de l'accéléromètre (\tilde{\mathbf{a}}). Ces valeurs ne sont pas idéales : elles incluent un biais (\mathbf{b}_g,\mathbf{b}_a) et du bruit blanc (\mathbf{n}_g,\mathbf{n}_a).
(
L'important ici est que l'accéléromètre ne mesure pas directement l'accélération globale, mais la force spécifique, après soustraction de la gravité. Sans connaître l'orientation, on ne sait pas dans quelle direction réintégrer la gravité, et une double intégration, même d'un faible biais, entraîne une dérive rapide de la position. Les équations du mouvement en temps continu sont :
(
Si l'on considère uniquement l'erreur après une seconde, une IMU semble fonctionner parfaitement, mais après plusieurs minutes de navigation autonome, le biais et les erreurs d'orientation altèrent fortement la position. L'avantage de VIO est que les images corrigent la dérive à long terme de l'IMU, tandis que l'IMU comble les intervalles courts de mouvement et de rotation où les images sont rares.
4. Préintégration IMU : Compression du mouvement entre les images clés
Une configuration typique utilise une fréquence d'acquisition de la caméra de 20 à 60 Hz et de l'IMU de 100 à 1 000 Hz. Entre les images clés i et j, il peut y avoir des dizaines, voire des centaines, de mesures IMU. Réintégrer chaque échantillon à chaque modification de la pose ou du biais par l'optimiseur serait coûteux. La préintégration IMU de Forster et al. précalcule la rotation relative, la variation de vitesse et la variation de position autour d'un biais de point de linéarisation donné, et conserve également les jacobiennes et la covariance.
En notant les quantités après suppression de la gravité et de la vitesse du monde sous la forme \Delta R_{ij},\Delta\mathbf{v}_{ij},\Delta\mathbf{p}_{ij}, la prédiction est approximativement :
Lors de la mise à jour du biais, une correction du premier ordre est appliquée à l'aide de la valeur stockée \partial\Delta/\partial\mathbf{b}, et une réintégration complète n'a lieu que si la variation est importante. La rotation n'est pas sommée comme un simple vecteur, mais composée sur la variété SO(3) via l'application exponentielle ou avec des quaternions. Le transport d'une matrice de covariance \Sigma_{ij} permet de pondérer correctement un IMU bruité et un résidu de caméra précis au sein de la même fonction objectif.
La fonction objectif représentative pour VIO à fenêtre glissante est :
L'ensemble d'états \mathcal X comprend, pour chaque image clé, la pose, la position, la vitesse, les biais du gyroscope/accéléromètre, l'inverse de la profondeur des points de repère et, le cas échéant, le décalage temporel ou les paramètres extrinsèques. Les états anciens sont marginalisés dans une distribution a priori, ce qui permet de limiter le coût de calcul. La marginalisation dépendant de la Au point de linéarisation, la mise à jour répétée et importante de l'état tend à rompre la cohérence. Des techniques comme le Jacobien de première estimation (FEJ) ne se limitent pas à une simple optimisation de vitesse ; elles empêchent le système d'« observer » à tort des degrés de liberté inobservables.
5. Approches par filtrage vs. Approches par optimisation
VIO se divise en deux grandes familles : les filtres de Kalman étendus (EKF) à état d'erreur et les optimisations non linéaires à longueur fixe. Les premiers mettent à jour séquentiellement l'état et la covariance, et tendent à minimiser la latence et la consommation de mémoire. Le MSCKF ne conserve pas les points caractéristiques comme un état persistant ; il les marginalise plutôt en tant que contraintes multi-vues, ce qui lui confère sa légèreté. OpenVINS implémente cette famille en mettant l'accent sur la reproductibilité et l'extensibilité.
Les seconds optimisent conjointement plusieurs images clés et points de repère. VINS-Mono en est un exemple représentatif : suivi de caractéristiques, préintégration IMU, fenêtre glissante et fermeture de boucle. L'erreur de reprojection sur plusieurs images offre souvent un gain de précision, mais la marginalisation, le solveur, la latence et la récupération après une initialisation défaillante doivent être conçus avec soin.
| Aspect | Famille EKF/MSCKF | Famille d'optimisation par fenêtre glissante |
|---|---|---|
| Forme d'estimation | Mise à jour séquentielle de l'état et de la covariance | Minimisation itérative d'un graphe de facteurs sur plusieurs pas de temps |
| Calcul/latence | Prévisible, faible latence facile à maintenir | Dépend du nombre d'images clés et d'itérations |
| Gestion des caractéristiques | Facile à marginaliser comme contraintes d'observation | Facile à conserver comme état explicite la profondeur inverse, etc. |
| Points forts | Adapté aux systèmes embarqués, covariance facile à gérer | Reprojection globalement cohérente facilitée |
| Points faibles | Linéarisation et cohérence, observabilité | Erreur de marginalisation, charge CPU, relinéarisation |
Aucune méthode n'est universellement meilleure. Le choix dépend de la latence requise, de la fréquence des capteurs, du budget CPU et du champ d'application. Il est essentiel de prendre en compte la vue, l'environnement opérationnel et les capacités de maintenance. Comparer uniquement l'erreur de trajectoire rapportée dans un article, en ignorant le modèle de caméra, l'étalonnage, le mouvement des données et l'utilisation éventuelle de la relocalisation, est un excellent moyen de faire un mauvais choix d'implémentation.
6. Initialisation : Éléments à déterminer dans les premières secondes
Au démarrage de VIO, l'orientation du monde, la vitesse initiale, le biais du gyroscope, le biais de l'accéléromètre, la gravité, l'échelle monoculaire et la pose relative caméra-IMU sont tous indéterminés. La méthode classique consiste à construire une structure relative à deux ou plusieurs vues à partir d'images uniquement, puis à aligner ce mouvement visuel avec l'intégration de l'IMU pour calculer la vitesse, la direction de la gravité, l'échelle et le biais.
Un intervalle stationnaire fournit une estimation initiale du biais du gyroscope à partir de la lecture moyenne du gyroscope, et une indication sur la direction de la gravité à partir de la direction moyenne de l'accélération. Cependant, un accéléromètre ne peut pas distinguer l'accélération linéaire propre au véhicule de la gravité. Il est donc important d'inclure une « excitation » lors de l'initialisation : rotations et translations sur plusieurs axes, et non pas seulement une excitation lente. Déplacer l'appareil d'avant en arrière permet de démêler la corrélation entre l'échelle et le biais. À l'inverse, démarrer avec l'appareil quasiment immobile sur un bureau, le déplacer à vitesse constante dans une direction ou ne voir qu'un plan tend à sous-observer le système.
L'évaluation de la réussite de l'initialisation ne se limite pas à la convergence de l'optimiseur. Vérifiez que l'échelle estimée est positive et raisonnable, que l'amplitude de la gravité est proche de 9.81\,\mathrm{m/s^2}, que le biais ne s'écarte pas significativement des spécifications du capteur et que les points triangulés initiaux présentent une parallaxe suffisante et une forte proportion de profondeur positive. Plutôt que de conserver un état erroné après une panne, la réinitialisation des pistes d'images et du tampon IMU, suivie d'une nouvelle réinitialisation, est généralement moins dommageable pour les opérations ultérieures.
7. Calibrage et synchronisation temporelle
Les performances de VIO dépendent moins du nom de l'algorithme que de la justesse du modèle de capteur. Au minimum, trois calibrages sont nécessaires.
-
Calibrage intrinsèque de la caméra : distance focale, point principal, distorsion Modèle. Si l'image est redimensionnée ou recadrée, K doit également être modifié.
-
Calibrage extrinsèque : la transformation rigide T_{BC} entre la caméra et l'IMU. Une erreur de rotation de quelques degrés, ou une erreur de bras de levier de quelques centimètres, a un impact important en mouvement rapide.
-
Calibrage temporel : le décalage entre le temps d'exposition de l'image et le temps de l'IMU, et, si nécessaire, le temps de lecture de la caméra. Des horloges distinctes, la mise en mémoire tampon et les horodatages du pilote peuvent engendrer un décalage résiduel de plusieurs millisecondes.
Kalibr est un outil largement utilisé pour estimer le décalage temporel et les paramètres extrinsèques entre la caméra et l'IMU. Cependant, considérer une valeur obtenue une seule fois comme définitive est risqué : une modification de la mise au point, un remontage du boîtier, la température ou la gestion du temps par le firmware du capteur peuvent tous modifier ces conditions. Plutôt que de simplement copier des valeurs typiques d'une fiche technique, il est conseillé de vérifier la densité de bruit et la marche aléatoire du biais de l'IMU à l'aide d'un outil comme la variance d'Allan afin d'éviter de surestimer la fiabilité du filtre.
Une caméra à obturateur roulant Ne capture pas une seule image à un instant précis. En cas de rotation rapide, les rangées supérieure et inférieure sont observées à des positions différentes, et le résidu de reprojection, qui suppose un obturateur global, sera systématiquement décalé. Une courte exposition avec un obturateur global constitue la solution la plus fiable ; à défaut, envisagez un modèle d'observation incluant la synchronisation des rangées, ainsi qu'une compensation IMU. Lors de l'ajout de caméras gauche/droite ou d'un capteur de profondeur, une synchronisation matérielle est préférable.
8. Choix d'une implémentation : VINS-Mono, OpenVINS et systèmes associés
VINS-Mono est une implémentation VIO optimisée et largement référencée pour une caméra monoculaire et une centrale inertielle (IMU). Elle inclut un étalonnage extrinsèque et de décalage temporel en ligne, le suivi de caractéristiques, la préintégration, une fenêtre glissante et la fermeture de boucle. Son intérêt ne réside pas seulement dans la production d'une pose, mais aussi dans la lisibilité de l'ensemble de la configuration à des fins de recherche. VINS-Fusion est une option intéressante pour combiner la stéréoscopie et le GPS.
OpenVINS est une implémentation ouverte basée sur la famille MSCKF/EKF, conçue avec FEJ. et une cohérence explicitée. Cette solution convient aux situations où vous souhaitez vérifier comment un VIO basé sur un filtre gère l'état, la covariance et l'étalonnage. Basalt fournit un VIO stéréo avec un moteur d'optimisation haute performance et est testé sur des jeux de données comme EuRoC. Sur smartphones et en réalité augmentée, l'utilisation du VIO intégré à la plateforme est souvent plus réaliste pour une application, car il a accès à la synchronisation de la caméra, à la synchronisation de l'IMU et à l'étalonnage spécifique à l'appareil.
| Implémentation/famille | Style d'estimation | Exemple de configuration de capteur | Convient à | Points à vérifier lors de l'adoption |
|---|---|---|---|---|
| VINS-Mono | Optimisation, fenêtre fixe | Monoculaire + IMU | Apprentissage de la structure globale du VIO, prototypage de recherche | Génération ROS, format d'étalonnage, conditions d'initialisation |
| VINS-Fusion | Optimisation, fenêtre fixe | Monoculaire/stéréo + IMU, GPS optionnel | Prototypage multi-capteurs | Systèmes de coordonnées et pondération des observations absolues |
| OpenVINS | EKF/MSCKF | Monoculaire/stéréo + IMU | Apprentissage embarqué, vérification des filtres | Valeurs de bruit, FEJ, conception d'état |
| Basalt | Optimisation | Stéréo + IMU | Backend VIO haute performance | Environnement de compilation, modèle de caméra |
| OpenCV personnalisé + Ceres | Arbitraire | Arbitraire | Développement spécifique, apprentissage | Vérification de la reprojection, préintégration, marginalisation |
Lors de la comparaison d'implémentations existantes, ne considérez pas l'affichage d'une trajectoire dans une démo comme une réussite. Vérifiez sur du matériel réel : la résolution et la fréquence réelle de l'image d'entrée, les unités et la convention d'axes de l'IMU, la référence temporelle, l'étalonnage extrinsèque, le comportement en cas d'échec d'initialisation, la relocalisation après une perte de suivi, l'utilisation du processeur, de la mémoire et de la licence. En particulier, si l'horodatage d'un message ROS est renseigné avec « heure de réception », l'estimateur reçoit une commande qui semble correcte, mais avec des intervalles de temps physiquement incorrects.
9. Un minimum Flux de traitement
-
Calibrer les paramètres intrinsèques/extrinsèques et l'heure de la caméra, et mettre en mémoire tampon les images et les données IMU sur une base de temps commune.
-
À chaque réception de données IMU, prédire l'état à l'aide de la vitesse angulaire corrigée du biais et de la force spécifique, et mettre à jour la matrice de covariance ou la préintégration.
-
À chaque réception d'image, suivre les caractéristiques de l'image/image clé précédente et supprimer les valeurs aberrantes par des vérifications avant-arrière, RANSAC et des masques.
-
Avant l'initialisation, évaluer la parallaxe et l'excitation, et aligner la structure visuelle avec les données inertielles. Retarder le démarrage si les conditions sont mauvaises.
-
Après l'initialisation, fusionner le résidu de reprojection visuelle avec le résidu IMU, en mettant à jour la pose, la position, la vitesse, le biais et les points.
-
Marginaliser les anciennes images clés et supprimer les observations ne respectant pas les critères de qualité. Passer à la relocalisation ou à une réinitialisation sécurisée si nécessaire.
Dans ce flux, la distinction entre prédiction et correction est importante. Même en cas de perte temporaire d'images, la prédiction IMU peut continuer à produire des données, mais son incertitude augmente. Plutôt qu'une simple « pose », il s'agit d'une approche plus globale. Pour indiquer la disponibilité ou l'indisponibilité du suivi, l'application doit recevoir l'état du suivi, un score de covariance ou de qualité, et le temps écoulé depuis la dernière mise à jour visuelle. Ces informations doivent être utilisées pour activer/désactiver progressivement l'affichage en réalité augmentée, contrôler la vitesse et les arrêts de sécurité.
10. Métriques d'évaluation : Que mesurer pour une comparaison équitable ?
L'erreur absolue de trajectoire (ATE) correspond à la différence entre la séquence de positions estimées et la position réelle après alignement par une transformation rigide ou Sim(3).
Comme l'échelle de la vision monoculaire (VO) est indéterminée, il est impératif de préciser si l'alignement Sim(3) a également respecté l'échelle. Si vous souhaitez visualiser l'erreur d'échelle en vision 3D (VIO) ou stéréoscopique, l'alignement Sim(3) la masquera. Le choix d'un alignement SE(3), de l'alignement de la seule pose initiale ou de la comparaison de trajectoires non alignées doit être déterminé en fonction de l'objectif.
L'erreur relative de pose (RPE) mesure la dérive locale sur un intervalle de temps ou de distance fixe. \Delta . La différence entre la transformation relative estimée \hat T_{k,k+\Delta} et la vérité terrain T^{\mathrm{gt}}_{k,k+\Delta} est calculée.
L'erreur de translation (m/m ou %) et l'erreur de rotation (deg/m, deg/s) sont calculées. Même si l'ATE est faible sur une longue distance, une trajectoire inadaptée à la réalité augmentée ou au contrôle de vol est déconseillée en cas de fortes fluctuations à court terme. Inversement, une trajectoire lisse mais présentant une dérive sur de longues distances est défavorable à la cartographie.
| Métrique | Ce qu'elle indique principalement | Piège |
|---|---|---|
| RMSE/médiane de l'ATE | Cohérence positionnelle globale de la trajectoire | La valeur varie fortement selon la méthode d'alignement |
| RPE (intervalle distance/temps) | Dérive locale, effet sur le contrôle | Non comparable sauf si la durée de l'intervalle est précisée |
| Erreur de rotation | Qualité de l'orientation gyroscopique/visuelle | Le mélange du lacet avec le roulis/tangage masque la cause |
| Erreur d'échelle | Échelle physique du VIO monoculaire/stéréo | Impossible à évaluer après l'alignement Sim(3) |
| Taux de suivi / Taux de défaillance | Disponibilité réelle | Ne pas masquer la réinitialisation automatique après une défaillance |
| Latence / CPU / Consommation | Faisabilité d'une implémentation embarquée | Ne peut être évalué uniquement par traitement hors ligne |
EuRoC MAV, TUM VI, UZH-FPV et KITTI sont des jeux de données publics couramment utilisés à des fins de comparaison. Cependant, les caméras portables d'intérieur, les systèmes embarqués sur véhicule et les drones de course diffèrent par leur champ de vision, l'éclairage, la vitesse, les vibrations et l'exposition. Plutôt que d'importer directement un classement de référence sur du matériel réel, effectuez l'évaluation sur un itinéraire, une vitesse et dans des conditions de défaillance proches de vos propres enregistrements. Même sur le terrain, lorsque la vérité terrain ne peut être capturée, vous pouvez effectuer un audit par rapport à l'intervalle début/fin d'une boucle fermée, aux distances connues, à la reprojection murale ou à une section partielle couverte par une capture de mouvement externe.
11. Conditions de défaillance représentatives et contre-mesures
Faible texture, obscurité, flou
A Un mur blanc, un couloir sombre, un contre-jour ou un virage serré génèrent un gradient insuffisant dans le résidu visuel. Relâcher le seuil RANSAC en présence de peu de points caractéristiques ne fait qu'accroître les erreurs de correspondance. Les contre-mesures incluent une conception de l'éclairage et du capteur réduisant le temps d'exposition, l'utilisation d'un grand angle ou de la stéréoscopie, la redétection des caractéristiques et l'information de l'utilisateur en cas d'incertitude accrue.
Objets dynamiques et reflets
VIO suppose que la plupart des points de l'image appartiennent à l'arrière-plan statique. Les foules, un véhicule en tête de file, les miroirs, le verre et les surfaces d'eau contredisent cette hypothèse. La perte robuste et RANSAC, à elles seules, ne peuvent pas résoudre le problème lorsque l'arrière-plan devient minoritaire. Il est nécessaire d'exclure la zone sémantique des objets en mouvement, de séparer les mouvements multiples en fonction de la profondeur ou du flux, et de concevoir un système qui privilégie les objets fixes.
Saturation de l'IMU, vibrations, dérive thermique
Les vibrations du moteur des drones et des petits robots injectent un bruit important à bande limitée dans l'accéléromètre, et les chocs peuvent saturer sa plage de mesure. Un réglage trop faible du bruit du filtre et une confiance excessive dans l'IMU entraînent le rejet des corrections d'image et une divergence. Utilisez l'isolation des vibrations, une limitation de bande appropriée, des indicateurs de saturation, un modèle de biais incluant la température et les paramètres de bruit mesurés. Attention également : un lissage excessif des données brutes de l'IMU entraîne une perte des accélérations brèves.
Décalage temporel et confusion de repères
Un décalage temporel de 5 ms correspond à une différence importante de champ de vision lors d'une rotation rapide. Indiquez clairement si les horodatages de l'image correspondent au début, au milieu ou à l'heure d'acquisition de l'image, et si les horodatages de l'IMU correspondent à l'heure d'échantillonnage ou à l'heure d'arrivée. Une confusion entre les conventions gauche/droite, le signe de la gravité, la référence à T_{BC} ou à T_{CB}, ou encore la direction de l'axe optique de la caméra peut conduire à une optimisation numériquement convergente mais physiquement erronée. Préparez des tests unitaires comprenant un test statique, une rotation connue de 90° et un court déplacement en ligne droite.
Confondre initialisation et relocalisation
L'initialisation consiste à démarrer une estimation à partir d'un état sans carte ni échelle ; la relocalisation consiste à revenir à une carte connue ou à une image clé précédente. Les systèmes VO/VIO purs redémarrent généralement dans un nouveau repère local en cas de perte de suivi. Il ne faut pas confondre la capacité de relocalisation du SLAM à boucle fermée avec les performances de dérive brute du VO lors de l'évaluation. Dans un produit, il est impératif de décider explicitement s'il faut continuer à utiliser l'ancien repère après une perte de suivi, s'arrêter en toute sécurité ou invalider l'ancre.
12. Orientations récentes
Ces dernières années, l'estimation de caractéristiques et de correspondances basée sur l'apprentissage, comme SuperPoint, LightGlue et LoFTR, s'est avérée efficace dans certains cas face aux changements d'apparence difficiles à détecter pour les descripteurs locaux classiques. Des approches combinant un réseau profond et une optimisation géométrique itérative, telles que DROID-SLAM, ont également émergé. Cependant, même lorsqu'un modèle appris renvoie de nombreuses correspondances, l'ambiguïté d'échelle, la dégénérescence planaire, la synchronisation temporelle et le biais de l'IMU demeurent des problèmes physiques. Une conception qui vérifie les données apprises par rapport à une géométrie robuste, à l'erreur de reprojection et à la cohérence inertielle demeure l'approche fondamentale.
Les caméras événementielles, grâce à leur vitesse et leur plage dynamique élevées, peuvent couvrir des conditions où une caméra conventionnelle peine à gérer le flou ou l'obscurité. L'estimation multimodale, intégrant LiDAR, UWB, GNSS ou l'odométrie de roue à l'odométrie vidéo (VIO), devient également une solution pratique pour compenser la dérive à long terme et les environnements difficiles. L'ajout de capteurs supplémentaires n'améliore pas automatiquement les performances : les facteurs extrinsèques, la synchronisation, la détection des défauts et l'ajustement des pondérations constituent autant de nouvelles sources potentielles de défaillance.
13. Résumé
L'odométrie vidéo (VO) est une technique utile pour reconstituer le mouvement relatif à court terme à partir d'images, mais la VO monoculaire ne tient pas compte de l'échelle et les erreurs locales s'accumulent. La VIO combine la contrainte de mouvement haute fréquence de l'IMU avec la correction à long terme de la caméra, estimant simultanément l'échelle, la pose, la vitesse et le biais. Son principe repose sur un modèle de capteur correct, la préintégration de l'IMU, l'initialisation par excitation de mouvement suffisante et une fusion robuste des résidus visuels et inertiels.
En pratique, il convient d'abord de vérifier l'étalonnage, la synchronisation et les repères, puis de convertir la parallaxe, la distribution des points d'intérêt, l'erreur de reprojection, le biais, la gravité et l'état de suivi en journaux d'observation. VINS-Mono et OpenVINS constituent d'excellents points de départ, mais doivent être évalués en fonction de vos conditions de capture, de la latence, de la politique de réinitialisation et des exigences de sécurité. Ce qui doit finalement primer, ce n'est pas l'apparence de la trajectoire, mais une conception capable d'expliquer dans quelles conditions l'échelle et la pose sont observables, et dans quelles conditions l'incertitude augmente.
L'ajout d'une IMU stabilise-t-il toujours l'échelle ?
L'observabilité dépend du mouvement.
Une excitation insuffisante ou une erreur d'étalonnage peuvent rendre l'estimation instable malgré le capteur supplémentaire. ## Références (Sources primaires et documentation officielle) - [Scaramuzza & Fraundorfer, Visual Odometry: Part I (IEEE Robotics & Automation Magazine, 2011)](https://doi.org/10.1109/MRA.2011.943233) - [Forster et al., On-Manifold Preintegration for Real-Time Visual-Inertial Odometry (IEEE TRO, 2017)](https://doi.org/10.1109/TRO.2016.2597321) - [Qin, Li & Shen, VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator (IEEE TRO, 2018)](https://doi.org/10.1109/TRO.2018.2853729) - [Geneva et al., OpenVINS: A Research Platform for Visual-Inertial Estimation (ICRA 2020)](https://arxiv.org/abs/1910.11675) - [Documentation officielle d'OpenVINS](https://docs.openvins.com/) - [Dépôt officiel de VINS-Mono](https://github.com/HKUST-Aerial-Robotics/VINS-Mono) - [Dépôt officiel de Kalibr](https://github.com/ethz-asl/kalibr) - [Jeu de données EURoC MAV (ETH Zurich)](https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets) - [Benchmark TUM VI](https://cvg.cit.tum.de/data/datasets/visual-inertial-dataset) - [Article DROID-SLAM (NeurIPS 2021)](https://proceedings.neurips.cc/paper_files/paper/2021/hash/a7c9585703d275249f30e7c8b80005e9-Abstract.html)
Commentaires
Veuillez vous connecter.
Aucune entrée pour le moment.