• Aucun résultat trouvé

5.3 Association de données pour le multivéhicule

5.3.1 Choix de la méthode

L’analyse de l’état de l’art fournie en sous-section 5.1.4 donne un aperçu des algorithmes existants qui pourraient convenir à une approche décentralisée et gé- nérique. Ce dernier point est important car c’est cet aspect qui nous a conduit à utiliser un EKF afin de limiter le nombre d’amers à envoyer. Cela signifie néanmoins que l’association de données est plus difficile car faite avec moins de points. Ainsi, les algorithmes reposant énormément sur des configurations spatiales similaires sont à bannir. Bien que l’organisation géométrique des amers soit importante pour recon- naître des endroits déjà visités, il faut bien garder en tête qu’uniquement quelques amers seront communs entre deux cartes du même espace. En effet, le point du vue ou même les conditions d’observation peuvent être différents, changeant ainsi les résultats du sélecteur de points et donc les amers qui arriveront dans le haut niveau. La deuxième conséquence, liée à la construction d’une solution générale, est que les associations doivent se faire presque exclusivement entre des amers 3D. La décorrélation complète entre le SLAM bas niveau et son pendant haut niveau fait qu’il est difficile de faire transiter des informations propres aux capteurs sans casser la structure générale de l’approche. Ainsi, il n’est pas possible de venir projeter dans l’image des points 3D provenant d’un autre véhicule. Cependant, il reste possible d’utiliser les descripteurs issus du SLAM monoculaire (zone de pixels autour des points initialisés par Harris) afin d’améliorer les performances de notre algorithme

d’association de données. Le but est ici de construire une méthode d’association qui soit en adéquation avec la structure générale proposée jusque là.

L’algorithme de JCBB [Neira & Tardós 2002], présenté lors de l’état de l’art, couplé avec l’intégration du biais statique, pourrait être pertinent. Cependant, si l’a priori initial concernant l’organisation de la flotte est faible, la compatibilité jointe n’aidera pas. Les incertitudes seraient trop grandes et s’intersecteraient quasiment toutes, rendant impossible le fait de trouver une configuration d’amers correcte.

Néanmoins, avec la consistance assurée par le biais, l’utilisation des incertitudes des amers est un bon moyen pour diminuer le nombre d’associations potentielles. Après une première mise à jour, une fois que la covariance initiale du biais aura été grandement réduite, l’utilisation des incertitudes des amers va devenir bien plus discriminante et ainsi énormément aider à trouver des associations. Bien que l’utili- sation du JCBB soit compliquée ici, l’incertitude des amers pourra être considérée dans l’algorithme final.

Parmi les autres algorithmes présentés, le GCBB a été cité comme intéressant lors de l’étude de l’état de l’art. Un arbre des différentes possibilités d’association (entre les nouveaux amers et la carte décentralisée dans notre cas) est construit et exploré. Des contraintes sont définies afin de trouver le sous-ensemble d’observations qui correspond le mieux à la carte globale. Bien qu’il soit possible de définir de nou- velles contraintes, le GCBB est principalement basé sur une contrainte géométrique binaire. Afin d’être ajoutée à l’hypothèse d’association courante, l’observation et sa correspondance potentielle dans la carte doivent maintenir une organisation spatiale cohérente avec les observations déjà sélectionnées (hypothèse en cours) et les amers avec lesquels elles ont été associées. Une hypothèse est considérée correcte dès lors que le nombre d’amers la composant est supérieur à seuil (généralement fixé à 5 ou 6 amers communs). Ce processus est expliqué au travers d’un exemple dans la figure 5.13.

Quand cet algorithme d’association de données a été présenté [Neira et al. 2003], les auteurs ont remarqué que celui-ci pourrait être coûteux en temps de calcul à cause du parcours de l’arbre. En effet, avec un nombre important d’amers, la quantité de solutions à tester augmente rapidement, tout comme le temps nécessaire à cette opération. Ici, nous avons ajouté un premier filtrage afin d’élaguer les branches de l’arbre peu plausibles avant que l’arbre ne soit exploré, réduisant ainsi le temps né- cessaire à son parcours grâce à l’intégration de la dérive. Il devient alors possible de limiter le nombre d’amers qui peuvent être associés à ceux qui sont individuelle- ment compatibles de par leur incertitude. La compatibilité individuelle ou Individual Compatibility (IC) entre deux amers aui et auj se définit comme suit :

avec :

νij = aui auj

Cij = Paui+ Pauj

(5.2) Le seuil d’acceptation (en-dessous duquel une association est possible) est basé sur une distribution du Khi-deux χ2

d,α. Ici, d = 3 (degrés de liberté des amers) et la

confiance souhaitée (α) a été fixée à 0, 95. Uniquement les amers individuellement compatibles resteront dans l’arbre afin de rendre son exploration plus rapide.

Il est possible d’ajouter d’autres contraintes dans le but de renforcer la fiabilité des solutions obtenues. Dans notre contexte monoculaire particulier, nous avons spécialisé l’algorithme afin d’intégrer une information visuelle, permettant ainsi d’être plus discrimant envers les amers associés. Les descripteurs extraits autour

Figure 5.13 – Exemple d’utilisation de l’algorithme GCBB. L’hypothèse d’associa- tion courante est indiquée en orange. Les amers pour l’instant associés sont reliés par des lignes pointillées oranges. Les losanges rouges sont les amers de la carte. Les cercles verts représentent des observations (ici des amers reçus d’autres véhicules). Les points entourés en bleu sont ceux dont l’association est en cours de test. Afin d’être confirmée, les distances aux points dans l’hypothèse (lignes pleines bleues) doivent être similaires entre les observations et la carte. La nouvelle association potentielle est indiquée par la ligne pointillée bleue.

des points caractéristiques de l’image au moment de l’initialisation sont comparés par ZNCC. Cela permet d’éliminer de mauvaises associations de façon peu coûteuse. Cette contrainte unaire, associée à celle binaire concernant l’organisation spatiale des amers, va permettre de guider la recherche dans l’arbre.

L’algorithme récursif construit est intéressant car il tire parti de toutes les infor- mations disponibles. Le premier filtrage suivant les incertitudes, en plus d’accélérer le processus d’association de données, utilise le fait que l’état des véhicules est consis- tant. Les estimations du biais permettent d’utiliser les covariances des amers comme une première étape de sélection. À l’inverse des algorithmes classiques de fermeture de boucle [Williams et al. 2009], tous les amers de la carte ne seront pas utilisés pour rechercher des associations. Uniquement ceux dont les incertitudes témoignent d’une possibilité de correspondance avec des observations seront conservés. L’explo- ration de l’arbre se fera ensuite par la validation des contraintes unaire et binaire. Pour la première, l’information visuelle disponible est utilisée. Une caméra donne des informations riches et facilement distinguables les unes des autres. Enfin, la contrainte binaire permet d’utiliser l’organisation géométrique des amers. Il s’agit certainement du point le plus discriminant de l’algorithme. Assurer une cohérence spatiale entre deux ensembles d’amers est loin d’être anodin et avec un seuil autour de 5 à 6 amers, les associations obtenues peuvent être considérées comme justes. L’algorithme d’association de données exploite à la fois l’incertitude, l’aspect visuel et l’organisation spatiale des amers. Il maintient également la structure générale de l’approche décentralisée.