• Aucun résultat trouvé

Calcul de pose

Dans le document SLAM temporel à contraintes multiples (Page 69-72)

Mise à jour de la pose

3.2.2 Calcul de pose

Dans cette étape, on estime la pose courante de la caméra en minimisant la somme des erreurs de reprojection des associations 2D-3D (issues de la phase d’appariement 3.2.1). En l’absence de faux appariements, le problème se résumerait à une simple optimisation avec une méthode de moindres carrés non linéaires. En pratique, il est nécessaire d’utiliser des méthodes robustes pour prendre en compte les mauvaises associations. Différentes méthodes robustes de l’état de l’art sont présentées ci-dessous. Dans cette section, on appelle inlier une association 2D-3D dont l’erreur de reprojection est inférieure ou égale à 2 pixels, et outlier lorsque l’erreur est supérieure à 2 pixels. Quelle que soit la méthode utilisée, on considère que la localisation a réussi si la pose calculée permet d’obtenir plus de 30 inliers.

RANSAC

L’algorithme de RANSAC a été développé pour les problèmes de calcul de pose (cf. section 1.10). A chaque itération de RANSAC, une pose est calculée à partir de 3 points (choisis aléatoirement) en utilisant l’algorithme P3P proposé par Kneip et al. [77]. A la fin des itérations, on conserve la pose C qui minimise la fonction Λ correspondant au nombre d’outliers, avec Pi le point 3D associé au point d’intérêt pi : Λ = N i=0 ρ(π(C, Pi)− pi) (3.2) avec ρ(ε) =  0 siε ≤ 2 1, sinon

Médiane

La méthode robuste dite « Médiane » utilise la médiane des erreurs de reprojection notée Med. Cette méthode fait l’hypothèse que la moitié des associations 2D-3D, au minimum, est correcte. Ainsi, la médiane des erreurs est mise à jour à chaque itération et une association 2D-3D est considérée inlier si son erreur est inférieure à max(M ed(r), 2) avec  le vecteur de résidus. Les paramètres de la pose C sont initialisés avec la dernière pose connue puis optimisés par l’algorithme de Levenberg-Marquardt (voir section 1.5.2). La méthode minimise les erreurs de reprojection des associations satisfaisant le critère médian φ : E =arg Min C N i=0 φ(π(C, Pi)− pi, M ed) (3.4) avec φ(ε, M ed) =  ε2 si ε ≤ max(Med, 2) 0, sinon

Toutefois, cette méthode nécessite un comptage a posteriori des inliers car la pose peut avoir été calculée avec une erreur médiane élevée notamment lorsque la liste d’associations 2D-3D contient trop d’erreurs. Le comptage des inliers permet alors de vérifier si le résultat est exploitable.

M-Estimateur

Une méthode plus simple à mettre en œuvre consiste à utiliser un M-Estimateur (pour plus de détails sur les M-Estimateurs, voir [78]). Cela permet une gestion implicite des outliers : d’une part, toutes les associations sont utilisées dans le calcul et d’autre part, le M-Estimateur marginalise dans la fonction de coût les associations 2D-3D ayant une erreur trop importante. La méthode utilisée ici est un moindres carrés pondérés itératifs IRLS (Iteratively Reweighted Least Squares) utilisant le M-Estimateur de Geman-McClure. Les méthodes IRLS ont l’avantage d’être faciles à implémenter car elles ne modifient pas la jacobienne de la fonction de coût : la pondération s’applique sur les équations normales en multipliant la jacobienne par une matrice de pondération qui découle du M-Estimateur. La fonction de coût à minimiser pour l’algorithme IRLS est la suivante :

E =arg Min C N i=0 ρ(π(C, Pi)− pi, c) (3.5) avec ρ le M-Estimateur de Geman-McClure défini par :

ρ(ε, c) = ε 2

et c étant la valeur du résidu au-delà de laquelle l’observation est considérée aberrante. Ici on utilise la valeur proposée par Lothe et al. [79] :

c = mediane() + 5.2× MAD(r) (3.7)

avec MAD pour Median Absolute Deviation défini par :

MAD() = mediane(|  − mediane() |) (3.8)

3.3 Mise à jour de carte

L’étape de reconstruction incrémentale consiste à mettre à jour la carte 3D à partir des données observées au fur et à mesure que la caméra se déplace. Une première étape consiste à déterminer si l’image courante doit être sélectionnée comme une image clé (3.3.1) et ajoutée à la carte de référence. Lorsque c’est le cas, la carte doit être actualisée afin de tenir compte des nouvelles observations et donc de nouveaux points 3D. Ceux-ci sont obtenus par appariements et triangulation (3.3.2). L’ajout de nouvelles informations peut remettre en cause les données déjà présentes dans la carte. C’est pourquoi, les paramètres de la carte doivent être ré-optimisés à chaque ajout d’image clé (3.3.3). Toutefois, la quantité d’information contenue dans la carte étant potentiellement importante, les méthodes de SLAM par AF ont recours à une optimisation locale sur un sous-ensemble de paramètres de la carte. 3.3.1 Sélection d’images clés

Le processus de sélection d’images clés consiste à déterminer s’il est pertinent d’ajouter l’image courante dans la carte afin de mettre à jour et d’enrichir celle-ci. Ce critère de sélection est un compromis minimisant le nombre d’images clés et assurant un recouvrement du champ visuel suffisant entre deux images clés successives. Il existe certainement autant de critères de sélection d’images clés que d’algorithmes de SLAM basés AF. Quatre critères sont présentés ici.

Critère de Mouragnon et al. [67]

Dans l’approche de Mouragnon et al., une image est sélectionnée comme image clé si les conditions suivantes sont réunies :

— le nombre d’appariements avec l’image clé précédente est supérieur à 400, — l’incertitude sur la pose est inférieure à un seuil,

— le nombre de points inliers est supérieur à 10.

Le nombre d’appariements ne constitue pas un critère fiable car il ne prend pas en compte les mauvais appariements. L’incertitude sur la pose est un bon critère, toutefois, le calcul de celle-ci nécessite d’être approximé pour ne pas dégrader les performances de temps de calcul.

Critère de Klein et al. [3]

Le critère de sélection d’images clés défini par Klein et al. est : — un nombre d’inliers minimum,

— au moins 20 images ont été acquises depuis la dernière image clé,

— une distance 3D minimale entre la pose courante et la dernière image clé.

Les conditions imposant un certain nombre d’images ainsi qu’un déplacement entre deux images clés assurent un parallaxe suffisant pour la triangulation des points et empêchent la prise d’image lorsque la caméra est statique. Toutefois, le nombre d’images entre chaque image clé dépend du capteur et donc de l’application, tandis que la distance minimale 3D est difficile à définir dans un cadre de SLAM monoculaire où le facteur d’échelle est inconnu.

clé. Si à l’image suivante, seulement 49 points 3D sont retrouvés, le critère ne satisfait pas la condition sur les 50 inliers et l’image n’est toujours pas sélectionnée comme image clé. Étant donné que la carte n’a pas été mise à jour, la localisation échouera probablement à l’image suivante.

Proposition de critères

Idéalement, le critère utilisé doit sélectionner une nouvelle image clé si et seulement si celle-ci contient de nouvelles informations exploitables. Existe-t-il un critère qui soit robuste aux configurations théoriques suivantes ?

— la caméra est statique et de nouveaux objets statiques apparaissent petit à petit dans l’environ-nement jusqu’à ce que celui-ci soit totalement renouvelé : la caméra étant immobile, le critère de Klein et al. empêcherait la prise d’une nouvelle image clé jusqu’à ce que la localisation échoue, — la caméra est statique et les objets de l’environnement sont petit à petit remplacés par du blanc uniforme : les critères basés sur le nombre d’appariements ou le nombre d’inliers déclencheront la prise d’une nouvelle image clé alors qu’aucune nouvelle information n’est venue enrichir l’environnement.

Dans notre implémentation, l’image clé sélectionnée est la dernière image ayant satisfait le critère suivant : φ(ninliers) ndétections > 0.2 (3.9)φ(ninliers) =  ninliers si ninliers≥ 50 0, sinon

avec ninliersle nombre d’inliers et ndétectionsle nombre d’amers détectés dans l’image. Ce critère requiert que l’image sélectionnée contienne au minimum 50 inliers et que 20% des détections correspondent à des amers 3D déjà présents dans la carte. Utiliser un ratio en fonction du nombre de points détectés permet de ne pas sélectionner d’images clés lorsque l’environnement s’appauvrit en information, car le nombre de points détectés diminuera également. De plus, lors d’un mouvement brusque, l’image sélectionnée sera l’image qui précède l’image floue donc la dernière image correctement localisée.

Dans le document SLAM temporel à contraintes multiples (Page 69-72)