• Aucun résultat trouvé

4.2 Positionnement

4.2.2 Cartographie

Dans la section précédente, nous avons développé un algorithme permettant de calculer la pose relative d’un capteur. Lorsqu’une nouvelle acquisition est effectuée, le système calculera une nouvelle pose relative par rapport à la pose précédente. Il est alors possible de chaîner les poses relatives afin d’obtenir la position courante du capteur dans le référentiel initial de la première acquisition. Ce référentiel est fixé comme l’origine de la scène. Toutefois, en procédant de cette manière, le système accumule l’erreur de chaque pose intermédiaire.

Afin d’éliminer cette accumulation, le système doit être en mesure de reconnaître les caractéristiques déjà observées dans les images précédentes afin de les associer à celle de la vue courante. Pour y arriver, le système maintient un modèle des caractéristiques observées. Ce modèle comprend les positions images où les caractéristiques ont été observées, l’ensemble des descripteurs correspondant à ces observations ainsi que la pose associée à chaque observation dans le référentiel global, soit celui de la première acquisition9

. Un point du modèle est aussi classé comme un point distinct localement ou globalement dépendant de la méthode utilisée pendant l’étape de reconnaissance. Nous référerons à cet ensemble comme un point du modèle. Le modèle au temps t sera noté Gt.

Au départ, le modèle ne contient aucun point. Les correspondances entre la première et la seconde paire sont directement ajoutées à la carte de la scène. Les points du modèle sont associés à la correspondance. Lorsqu’une nouvelle paire d’images est traitée, les caractéristiques sont associées à la paire précédente d’images et si la caractéristique de l’image précédente était associée à un point du modèle, ce point est associé à la nouvelle correspondance.

Ensuite, le système tente d’apparier les caractéristiques orphelines10

de la nouvelle paire d’images avec les points distincts globalement dans le modèle. Pour apparier un point du modèle, chaque descripteur qui est associé au point modèle est comparé à celui

9. Il est important de noter que la position 3D d’un point n’est pas incluse dans le modèle. En fait, un point est complètement défini par ses observations et les poses associées à ces observations.

de la caractéristique. Le descripteur le plus similaire permet de valider l’association ou la refuser. La validation utilise les seuils relatif et absolu de comparaison de descripteur utilisés pendant l’étape de reconnaissance.

Pour une caméra k, nous obtenons alors les correspondances Qk

Gn entre le modèle

G et l’image n. Afin de réduire les risques d’une fausse correspondance, seulement les points distincts globalement qui ne sont pas appariés à la paire précédente d’images sont considérés comme candidats. Les points du modèle correspondant à une caractéristique de la nouvelle paire d’images sont projetés dans la paire précédente d’images. Pour chaque point projeté, si aucune caractéristique ne correspond à ce point, il est ajouté comme une caractéristique virtuelle à la liste de caractéristiques de l’image. Dans le cas contraire, une nouvelle correspondance est établie. Notons qu’une caractéristique virtuelle peut être en dehors de l’image. En procédant ainsi, nous combinons les points du modèle et ceux de la paire d’images précédente de façon transparente dans l’esti- mation de la pose relative. Le but est d’arriver à reconnaître le plus tôt possible une caractéristique déjà observée et de réduire l’accumulation d’erreur. De plus, le système peut alors exploiter les caractéristiques qui appartiennent à des régions de la nouvelle paire d’images qui ne chevauchent pas la paire d’images précédente. Parallèlement, le système tente d’associer un point du modèle aux correspondances orphelines qui n’ont pas de point modèle.

L’estimation robuste de la pose relative est ensuite exécutée. Cette partie ne dis- tingue pas les caractéristiques virtuelles des réelles. La pose relative permet de lancer la recherche de correspondances locales. La procédure est la même qu’à l’étape précédente, mais cette fois les points du modèle qui sont distincts localement, sont aussi considérés. Cette étape considère seulement les points distincts localement qui sont visibles dans les poses associées aux points distincts globalement qui ont une correspondance dans l’image.

Ces étapes sont répétées trois fois. Elles sont intégrées dans la partie reconnaissance. Une fois les itérations terminées, les correspondances qui sont de nouvelles observations de points du modèle sont associées aux points du modèle. La suite logique serait d’ajou- ter au modèle les nouvelles correspondances orphelines. Toutefois, afin d’éviter de du- pliquer un point, le système vérifie si le point 3D associé à une correspondance coïncide avec un point 3D du modèle. Lorsque la distance entre le point 3D du modèle et ce- lui de la correspondance est suffisamment faible, le système calcule la distance absolue entre le descripteur associé au modèle et celui des correspondances. Comme un point du modèle possède plus d’un descripteur, et que la correspondance possède deux (ou plus) descripteurs, la validation considère la distance la plus faible entre les différentes combinaisons possibles. Les correspondances respectant ces critères sont associées aux points du modèle, celles qui ne les respectent pas forment de nouveaux points qui sont ajoutés au modèle. Les observations provenant de correspondances qui ont déjà un point modèle sont associées à leur point modèle respectif. Évidemment, les caractéristiques

virtuelles ne sont pas associées aux points du modèle, elles sont déjà incluses.

Comme les correspondances identifiées par l’estimation robuste de la pose relative peuvent être locales ou globales, l’association à un point du modèle doit refléter ce sta- tut. Un point distinct globalement pourra donc devenir distinct localement. Toutefois, l’inverse n’est pas possible. De plus, un point observé plusieurs fois aura un plus grand poids dans l’optimisation. En effet, chaque observation fournit deux contraintes sur une pose et plus le nombre d’observations est grand, plus le point fournira de contraintes.

Input : Modèle Gm, Caractéristiques extraites { Im0, In0, Im1, In1 }

Output : Modèle Gn

// RECONNAISSANCE GLOBALE ;

//(ne considère que les points distincts globalement ; // du modèle qui ne sont pas dans Ik

m) ; Q0 Gn← AppariementGlobal(Gm, In0, αd, ǫd) ; Q1 Gn← AppariementGlobal(Gm, In1, αd, ǫd) ; // CARACTÉRISTIQUES VIRTUELLES ; I0 m ← AjouterCaractéristiquesVirtuelles(Im0, Q0Gn) ; I1 m ← AjouterCaractéristiquesVirtuelles(Im1, Q1Gn) ; // POSE RELATIVE ; {P0 n, Q0mn, Q1mn, Q10mn} ← EstimationRobustePoseRelative({Im0, In0, Im1, In1}); Gm ← AssociationModèle(Gm, Pn0, Q0mn, Q1mn, Q10mn) ; Gm ← AjoutModèle(Gm, Pn0, Q0mn, Q1mn, Q10mn) ; // OPTIMISATION ET VALIDATION ;

while #PointsNonValides(Gm) 6= 0 et #PointsFusionnes(Gm) 6= 0 do

Gm ← V alidation(Gm) ;

Gm ← Optimisation(Gm) ;

Gm ← F usionModele(Gm) ;

if itérations > 15 then Arrêt des itérations ; end

end

Gn← Gm ;

Algorithme 5: Cartographie : construction et maintenance du modèle.

À la fin de cette étape, une optimisation globale de l’ensemble des poses du modèle est réalisée. Avant de compléter le cycle, le système effectue une validation multi-vue des points du modèle. Elle permet d’identifier (et non d’éliminer) les points du modèle qui sont définis par des caractéristiques qui ne sont pas l’image du même point physique de la scène. Cette dernière étape est décrite dans la prochaine section. Finalement, le système s’assure qu’aucun point du modèle n’est dupliqué. La distance physique entre chaque point est mesurée. Si deux points isolés sont proche l’un de l’autre, le système

calcule la distance minimale inter-descripteur entre ces deux points. Si la distance inter- descripteur ainsi que la distance inter-point sont faibles, une dernière validation évalue le critère MVM11

de la fusion des observations. Ce critère, qui est décrit à la prochaine section, indique si un point est l’observation du même point physique en évaluant la cohérence entre les observations d’un point et les poses où il a été observé. Si le résultat de l’évaluation MVM est grand, la fusion est refusée. Donc, si toutes les conditions sont respectées, les observations des deux points sont fusionnées et le point redondant est éliminé. En fait, les observations et poses du premier point sont concaténées à celles de l’autre point avant d’éliminer le point redondant. Cette étape est nommée "FusionMo- dèle". En fusionnant les points correspondants, nous augmentons les contraintes entre les vues et la qualité des poses retrouvées. Les étapes d’optimisation, de validation et de fusion sont répétées jusqu’à ce qu’il n’y ait plus de points invalides ou fusionnés ou lorsque le nombre d’itérations dépasse 15. Dans l’implémentation actuelle, la fu- sion requiert que la distance inter-point soit inférieure à 2.5mm et que le ratio entre la distance au plus proche et second point plus proche soit inférieur à 0.1. Quant à la distance absolue inter-descripteur, elle doit être inférieure à 0.1. Cette mesure n’a pas d’unité car les descripteurs, qui sont des vecteurs de 128 dimensions, sont normalisés. La distance relative n’est pas importante puisque nous comparons directement deux points. Finalement, le seuil sur le critère MVM est le même que celui utilisé dans les autres parties.

L’algorithme 5 résume les étapes de la cartographie. Ce dernier fait référence à l’étape d’estimation robuste de la pose décrite dans l’algorithme 4. L’étape d’apparie- ment local est modifiée afin de considérer ce qui a été discuté dans cette section. Plus précisément, l’appariement local est aussi fait par rapport au modèle.

La prochaine section présente le critère MVM qui permet de résumer par un seul chiffre un aspect fondamental de la ré-observabilité d’un point, des caractéristiques correspondantes doivent être l’observation du même point physique. En intégrant ce critère à l’algorithme de positionnement, il sera en mesure d’évaluer la cohérence entre les poses et les observations d’un point et ainsi d’invalider certains points pouvant être nuisibles au positionnement.