• Aucun résultat trouvé

Détection des amers par FAST

Mettre en place des algorithmes de contrôle commande afin d’augmenter l’autonomie des robots

7.3.2 Détection des amers par FAST

∪ D p

7.3 Annexe C

7.3.1 Détection à partir d’un flux Laser

La figure 7.8 montre les résultats d’extraction d’amers. Les points en noire représentent le flux de données brutes fournit par un Laser. Les points en rouge représentent les amers extraits en utilisant l’algorithme d’extraction. L’algorithme calcule aussi la matrice de covariance résultante (les ellipses en bleu). On note que le nombre de points détectés dépend du seuil de segmentation γ. Plus le seuil est grand plus le nombre des amers extrait diminue. La figure 7.8-a montre une détection avec un seuil inférieur égale à γ = 1, où le nombre de points détectés est supérieur que le nombre de points détectés dans la figure 7.8-b avec un seuil γ égale à 8. La valeur du seuil est déterminée en fonction des résultats de localisation et de cartographie, plus le nombre des amers extraits et appariés est grand, plus les résultats sont consistants.

Figure 7.8: Détection des amers à partir d’un flux de données Laser par segmentation et filtre d’information, les ellipses en bleu représente l’incertitude de détection des amers

7.3.2 Détection des amers par FAST

Pour chaque pixel p de l’image, des tests sont réalisés sur les pixels appartenant à un cercle discrétisé de rayon 3 pixels. La figure 7.9 représente les 16 pixels en bleu qui sont testés pour détecter si le pixel pest un amer potentiel.

Si n (classiquement n = 9) pixels voisins consécutif sont plus ”lumineux” d’au moins ε que Ip+ ε ou plus ”sombre” d’au moins ε que Ip− ε où (Ip est l’intensité du pixel), alors le centre (pixel p) est considéré comme un point d’intérêt potentiel. En utilisant ce test, il est fréquent de détecter plusieurs points d’intérêts potentiels dans une zone très restreinte. Un filtrage est réalisé pour ne garder que les maximas locaux. Enfin, on supprime les non-maxima locaux dans un voisinage de 5 pixels. Les points détectés sont stables et que son détecteur est très rapide. La figure 7.10 présente le résultat de l’algorithme sur une image extraite d’une séquence de test. Plus le seuil est élevé, plus le nombre de points d’intérêts détecté est faible : la première image montre une détection FAST avec un seuil égale à 50, tendis que la deuxième montre une détection avec un seuil égale à 30. Le nombre de points détectés dans la deuxième image est plus grand que le nombre détectés dans la première image. Cette figure montre aussi les non maximas locaux (pixel en rouge) qui sont supprimés par le filtrage réalisé. Le détecteur FAST a été défini en 2008. Depuis, il est fréquemment utilisé par des algorithmes de SLAM monoculaire ou plus généralement de traitement d’images. Il a fait l’objet de deux implantations importantes. La première, utilisée par Rosten et al. [113], consiste à utiliser un algorithme de “Machine Learning” pour accélérer les calculs. Cette implantation est utilisée par nos algorithmes de SLAM, le code du programme étant disponible sur le site de l’auteur. La seconde est une implantation sur une architecture programmable type FPGA [140]. Dans notre implémentation on a visé la première implémentation optimisée par “Machine Learning”, qui est adéquate avec l’architecture embarquée visée.

Figure 7.10: Détection de points d’intérêts sur des images expérimentales avec un seuil =50, 30

7.3.3 Appariement des amers

7.3.3.1 Calcule de la distance de Mahalanobis pour l’appariement dans le contexte SLAM Laser

En statistique, la distance de Mahalanobis est une mesure de distance pour déterminer la simila-rité entre une série de données. Contrairement à la distance euclidienne, La distance de Mahalanobis prend en compte la variance et la corrélation d’une distribution de données. La distance de Mahala-nobis est souvent utilisée pour la détection de données aberrantes dans un jeu de données, ou bien pour déterminer la cohérence de données fournies par un capteur : cette distance est calculée entre les données reçues et celles prédites par un modèle (modèle extéroceptif). Cette distance est

utili-7.3 Annexe C 164 sée dans notre implémentation de l’algorithme de SLAM pour la mise en correspondance entre les observations extraites de flux de données du laser et les amers prédits par son modèle extéroceptifs. On considère par ztet ˆzt respectivement l’observation et la prédiction de l’observation donnée par le modèle d’observation (1.5), tel que :

zt= r φ ! , ˆzt= rˆ ˆ φt !

La distance de Mahalanobis entre ces deux valeurs est donnée par :

Ψ = (zt− ˆzt)TZ−1(zt− ˆzt) (7.11)

Zest la covariance d’innovation donnée par la relation :

Z = HfCHf+ R (7.12)

Cest la matrice de covariance de l’amer, et R est la matrice de covariance du bruit de mesure :

R = σr 0 0 σθ

!

Hf est la jacobienne du modèle d’observation dérivée par rapport au cordonnées cartésienne de l’amer (xf, yf).

Hf → hl(xf, yf)∈ R2

⇐⇒ (r, φ) ∈ R2

La décision sur la nature de l’observation est difficile. En fait, si un amer est détecté il faut déterminer de quoi peut-il s’agir, si c’est un nouvel amer à rajouter dans la carte ou bien un amer déjà existant à corriger dans la phase d’estimation. En effet, on calcule la distance de Mahalanobis entre l’observation acquise et tous les amers dans la carte. Si les distances calculées sont tous supérieures à un seuil γn, l’amer est ajouté dans la carte et ses cordonnées initiales sont calculées. Si non l’observation est considérée mise en correspondance avec l’amer dont la distance est la plus petite. La valeur du seuil γn est obtenue par la loi inverse χ2où loi du χ2inverse (en anglais : inverse-chi-squared distribution). L’incertitude sur la position du robot et le bruit de mesure affectent l’identification de l’amer observé. En effet, si le bruit de mesure est suffisamment grand, la distribution des observations des amers proches les uns aux autres chevauchent sensiblement. Ce chevauchement conduit a une am-biguïté dans l’identification des observations. Touts fausse association entre l’observation et l’amer engendre des erreurs dans la carte et la localisation du robot. Pour remédier à ce problème, on a utilisé une technique qui élimine les correspondances multiples. En effet, si un amer présent plusieurs observations comme correspondance, il ne sera pas utilisé dans la phase d’estimation et les observa-tions seront ignorées. Autrement dit, seuls les candidats uniques sont pris en compte. Ce ce est assuré en appliquant le filtre standard du plus proche voisin (NNSF : The nearest neighbor standard filter). Les résultats d’appariement et du filtrage sont montrés dans les figures (7.11-a,7.11-b). La première figure montre un robot qui explore un environnement interne. Les amers (points rouges) sont extraits du flux de données laser, initialisés et rajoutés dans la carte avec une incertitude initiale (ellipse en

Figure 7.11: amers extraits du flux de données Laser et initialisés par une incertitude

bleu). Dans la deuxième figure, les mêmes amers sont redétectés et appariés avec les observations. La méthode du filtrage permet un appariement fiable et robuste des amers et enlève toute ambiguïté sur l’association. Ceci est approuvé dans la deuxième figure où l’incertitude des amers diminue et corrigée puisque les amers sont redétectés et appariés plusieurs fois.

7.3.3.2 Calcule de la distance ZMSSD (Zero-Mean Sum of Squared Distance) pour l’appariement dans le contexte SLAM visuel

La camera fournit une image de la scène contenant un ensemble des pixels qui constituent les amers potentiels détectés. Un descripteur est associé à chaque amer. il consiste soit en une fenêtre de pixels entourant le point soit en un détecteur plus complexe calculé à l’aide des pixels voisins. L’appariement est fait on calculant la disparité au niveau de chaque pixel voisin. Autrement dit, on calcule un taux de similarité entre le descripteur de l’amer dans l’image de référence et les descripteurs des pixels dans l’image cible pour trouver son homologue. L’amer est donc sera apparié avec le pixel correspondant à une distance qui minimise l’erreur associée et maximise la similarité. Le descripteur utilisé dans notre implémentation est une fenêtre d’image entourant le point d’intérêt de dimension 16×16 pixels, déja utilisé par Davison [72]. Il existe plusieurs distances utilisées pour la mise en correspondance de ce type de descripteurs à savoir : SAD (Sum of Absolute Differences), NCC (Normalized Cross Correlation), SSD (Sum of Squared Differences), LSSD (Locally scaled Sum of Squared Differences), SHD (Sum of Hamming Distances). D’après Schmidt et al. ([141] ), SSD est la distance qui donne les meilleurs résultats d’appariement. Pour améliorer le comportement de la distance utilisée par rapport aux changements de luminosité, nous utiliserons une version légèrement modifiée du SSD, le ZMSSD (Zero Mean Sum of Squared Differences) donnée par :

X

i,j

(Ilmk(i, j)− md− If(x + i, y + i) + mf)2 (7.13)

Avec : mdet mf sont respectivement la moyenne du descripteur du pixel candidat et de la fenêtre d’image, If est l’intensité des pixels de la fenêtre d’image, x, y est la position du pixel détecté, i, j indices des pixels voisins du pixel candidat, Ilmk est l’intensité du pixel candidat. La figure 7.12 représente la mise en correspondance des points d’intérêts entre deux images consécutives dans un environnement interne. Les amers de la carte déjà cartographiés et initialisés (points rouges) sont projetés dans l’image acquise à l’instant courant (l’image de gauche). La projection définie une zone de recherche de correspondance (les carrés bleus). Cette zone de recherche est calculée précisément

7.3 Annexe C 166

Figure 7.12: Résultats de la mise en correspondance des amers

dans notre implémentation de l’algorithme de SLAM, à partir de la carte et de la position du robot. Les observations (les points en verts) sont ensuite sélectionnées en calculant la distance ZMSSD entre les points détectés par FAST et les pixels dans la zone de recherche.