• Aucun résultat trouvé

4.2 Positionnement

4.2.3 Évaluation multi-vue

L’évaluation multi-vue permet d’identifier les points du modèle qui ne respectent pas la condition de ré-observabilité stipulant que deux caractéristiques correspondantes doivent être l’image du même point physique de la scène. Les points ne respectant pas cette condition doivent être identifiés car ils nuisent au positionnement en induisant un glissement. Ces points sont retirés du calcul de pose. Toutefois, ils ne sont pas éliminés du modèle et sont toujours candidats pendant la recherche de correspondances entre

les images. La raison est simple, il faut éviter de les ré-ajouter au modèle lorsque le capteur revisite la partie de la scène où ils ont été observés.

Intuitivement, la méthode la plus simple pour qualifier un point est de calculer l’incertitude sur sa position 3D après triangulation à partir de l’ensemble de ses ob- servations. Ainsi, nous obtenons l’incertitude sur les trois coordonnées du point. On remarque immédiatement que la méthode ne permet pas de qualifier un point à l’infini. En effet, pour trianguler un point et évaluer l’incertitude, nous devons fixer la coor- donnée homogène du point à 1. Il est bien connu qu’un point peut être triangulé en coordonnées projectives où les quatre coordonnées sont estimées [21]. Toutefois, éva- luer l’incertitude des paramètres de ce type d’estimation est relativement complexe et difficile à interpréter [120].

Pour pallier ce problème, nous avons identifié une méthode efficace permettant de qualifier la ré-observabilité d’un point qui implique seulement ses observations dans l’image ainsi que les poses associées à ces observations. Comme l’entité 3D du point n’est jamais explicitée, nous avons découvert qu’il est possible de traiter d’une même façon les points réels et ceux à l’infini. Il s’agit de la matrice multi-vue Mp présentée

par Ma [99](p.273) : Mp =      [x1]x R1x0 [x1]x t1 [x2]x R2x0 [x2]x t2 ... ... [xn]x Rnx0 [xn]x tn     . (4.30)

Dans cette expression, les xi sont les coordonnées normalisées (xi = K−1p)des obser-

vations d’un point de la scène. Selon Ma, le rang de la matrice multi-vue permet de qualifier les observations d’un point. Ainsi, en l’absence de bruit, le rang indique :

– rang( Mp )=2 ⇒ pas de correspondance

– rang( Mp )=1 ⇒ correspondance et point 3D unique

– rang( Mp )=0 ⇒ correspondance et point 3D non-unique

Les deux premières conditions sont explicites. La troisième condition peut sembler étrange, mais se présente lorsque la caméra se déplace le long du rayon projecteur du point. Plus précisément, le rang sera zéro lorsque les centres de projection associés aux poses de la caméra sont colinéaires. Il s’agit donc d’un point à l’infini, du point de vue du capteur. La condition de rang de la matrice multi-vue capture simultané- ment les contraintes entre deux vues (xi[ti]xRix0 = 0) et trois vues ([xi]x(tixT0RTj −

Rix0tTj)[xj]x = 0), et ce pour l’ensemble des vues intégrées à la matrice. La première

contrainte est la matrice essentielle. La seconde contrainte fournit 9 équations dont quatre sont linéairement indépendantes. Ces équations font intervenir trois vues d’un point.

En pratique, même si les observations correspondent au même point physique, le bruit dans les coordonnées et dans les poses de la caméra fait en sorte que le rang ne sera jamais rang(Mp) = 1. Toutefois, le rang d’une matrice est simplement le nombre

Figure4.30 – Poses de la caméra servant à la validation de la méthode d’évaluation multi-vue.

de valeurs singulières qui ne sont pas nulles. Un seuil permet de décider si une valeur est suffisamment faible pour être nulle. Dans Matlab, ce seuil dépend entre autre de la taille de la matrice et est généralement inférieur à 10−16. Dans l’évaluation multi-vue,

on peut qualifier un point selon la plus petite valeur singulière de la matrice multi-vue. Afin de qualifier un point du modèle indépendamment du nombre d’observations, on divise la plus petite valeur singulière par le nombre d’observations. Ce terme évalue la qualité d’un point du modèle, nous l’appelons la mesure MVM (Multi-Vue Matrice). La prochaine section montre comment interpréter ce terme afin de déterminer si un point du modèle de la scène doit être ignoré lors du calcul de pose.

Évaluation multi-vue : validation expérimentale

Afin de valider la méthode d’évaluation multi-vue, nous avons simulé 10 observations de deux types de points : un point régulier qui se situe à l’origine X0 = (0, 0, 0, 1) et un

point sur le plan infini devant la caméra X1 = (0, 0, −1, 0). Les dix poses de la caméra

virtuelle servant à observer ces points sont illustrées sur la Fig.4.30. La caméra se situe à une distance de 1000 mm au dessus du plan Z=0, et se déplace autour de l’axe Z à un rayon de 500mm. Elle fixe un point inscrit dans le plan Z=0 qui se déplace radialement autour de l’axe Z à un rayon de 200mm, se déplaçant de façon similaire à la caméra. Les paramètres intrinsèques de la caméra virtuelle reflètent ceux d’une caméra standard dont la taille de l’image est de 600x800 et qui est équipée d’une lentille ayant une focale de 6mm. La Fig.4.31 montre les 10 observations de chaque point accumulées dans une même image. Il est intéressant de noter qu’on ne peut pas distinguer le point infini du point régulier simplement en observant les images.

Nous comparons l’incertitude (σx, σy, σz) sur la position du point en mm avec la

mesure extraite de la matrice multi-vue (MV M) en fonction du nombre d’observations et du niveau de bruit ajouté aux coordonnées des observations. Le nombre d’observa- tions varie de nbobs = [3, 10] et l’écart-type du bruit varie de σn = [0, 2] pixels. Afin

0 200 400 600 800 0 100 200 300 400 500 600 (a) 0 200 400 600 800 0 100 200 300 400 500 600 (b)

Figure 4.31 – a) Observations du point X0 = (0, 0, 0, 1). b) Observations du point X1 = (0, 0, −1, 0). (Les axes sont en pixels).

répété chaque expérience 250 fois. Les résultats sont donc les valeurs moyennes de l’in- certitude et de la mesure MVM sur ces 250 essais. Les tableaux Table.4.2 et Table.4.3 résument les résultats obtenus pour les deux points X0 et X1 respectivement.

Ces deux derniers tableaux confirment que la mesure MVM peut qualifier aussi bien un point régulier qu’un point se trouvant à l’infini. On retrouve les mêmes valeurs MVM pour les deux types de points. L’incertitude est une mesure simple, mais clairement in- capable de qualifier les points infinis. Les points infinis ne sont pas de simples attraits théoriques, ils apparaissent lorsque la caméra subit une rotation sans translation ou lorsque l’arrière-plan de la scène est relativement loin par rapport à l’avant-plan où se trouvent les objets d’intérêt. Un point sur l’arrière-plan est alors très loin devant la caméra (xz > 1010), parfois même à l’infini. Un faible bruit dans les coordonnées images

provoque de grandes variations sur son correspondant 3D. Comme le terme Z est infini, sa variation n’est pas représentative de l’état du point. Étant invariante à la position du point dans l’espace, la mesure MVM est avantagée par rapport à l’incertitude. Fi- nalement, en analysant les tableaux, on remarque que la mesure MVM est peu affectée par le nombre d’observations, ce qui est désirable lorsque la ré-observabilité d’un point est mesurée.

Pour montrer que la mesure permet d’identifier un point qui ne respecte pas la condition de ré-observabilité, nous avons repris l’expérience en ajoutant une observation erronée dans une vue. Ainsi, la troisième observation est biaisée de sorte qu’elle est déplacée de 10 pixels le long de la droite épipolaire définie avec la première image. L’objectif est de montrer que la matrice multi-vue résume l’ensemble des contraintes incluant celles de deux vues et de trois vues. En effet, la modification n’est pas observable si seulement la contrainte de la matrice essentielle entre la première vue et celle modifiée est considérée. Afin de ne pas créer de redondance inutile dans les résultats, cette expérience a été réalisée pour un seul niveau de bruit (σn = 1). Le tableau Table.4.4

Table 4.2 – Incertitude (σx, σy, σz) et M V M du point X0 = (0, 0, 0, 1) en fonction du nombre d’observations (Nb.Obs.) et en fonction du bruit (σn) dans les observations.

Nb.Obs. 3 4 5 6 7 8 9 10 σn = 0 σx 0 0 0 0 0 0 0 0 σy 0 0 0 0 0 0 0 0 σz 0 0 0 0 0 0 0 0 M V M 0 0 0 0 0 0 0 0 σn = 1 σx 0.59 0.44 0.40 0.32 0.28 0.25 0.23 0.21 σy 0.63 0.48 0.44 0.35 0.31 0.26 0.23 0.21 σz 12.85 5.55 3.50 2.14 1.60 1.23 1.05 0.97 M V M 0.0009 0.0009 0.0008 0.0008 0.0007 0.0007 0.0007 0.0007 σn = 2 σx 2.64 1.85 1.63 1.33 1.10 1.00 0.96 0.81 σy 2.81 2.01 1.78 1.46 1.19 1.05 0.98 0.81 σz 57.45 23.34 14.18 8.97 6.17 4.98 4.43 3.64 M V M 0.0017 0.0016 0.0016 0.0015 0.0015 0.0014 0.0013 0.0013

Table 4.3 – Incertitude (σx, σy, σz) et M V M du point infini X1 = (0, 0, −1, 0) en fonction du nombre d’observations (Nb.Obs.) et en fonction du bruit (σn) dans les

observations.

Nb.Obs. 3 4 5 6 7 8 9 10

σn= 0

σx 19000 20075 20976 20815 20013 18703 17078 15339

σy 19904 20512 20976 21116 20416 19031 17242 15339

σz Inf Inf Inf Inf Inf Inf Inf Inf

M V M 0 0 0 0 0 0 0 0

σn= 1

σx 14400 17389 18480 18530 18443 16864 16255 14530

σy 15086 17767 18488 18799 18815 17160 16411 14534

σz 1.29e10 1.43e10 1.09e10 1.09e10 9.08e9 9.67e9 7.89e9 6.83e9

M V M 0.0008 0.0009 0.0008 0.0008 0.0008 0.0007 0.0007 0.0006

σn= 2

σx 15442 17093 17904 18757 18170 17623 16077 14573

σy 16177 17465 17918 19029 18535 17933 16231 14581

σz 3.90e9 2.93e9 2.78e9 2.53e9 2.44e9 2.19e9 1.77e9 1.68e9

Table 4.4 – Incertitude (σx, σy, σz) et M V M du point X0 = (0, 0, 0, 1) et du point infini X1 = (0, 0, −1, 0) en fonction du nombre d’observations (Nb.Obs.) pour un bruit

fixé à (σn= 1) et un biais injecté à la vue #3 (voir le texte pour les détails).

Nb.Obs. 3 4 5 6 7 8 9 10 X0 σx 4.89 6.72 4.64 3.31 2.42 1.91 1.62 1.31 σy 5.21 7.29 5.09 3.62 2.62 2.01 1.66 1.31 σz 101.70 83.73 40.36 22.23 13.58 9.45 7.47 5.90 M V M 0.0023 0.0027 0.0024 0.0021 0.0019 0.0017 0.0015 0.0014 X1 σx 5991 17883 20380 20448 19665 18220 16547 14604 σy 6284 18272 20408 20768 20079 18550 16706 14615

σz 1.99e8 6.62e8 8.98e8 1.02e9 1.07e9 1.11e9 1.08e9 1.04e9

M V M 0.0022 0.0028 0.0025 0.0022 0.0019 0.0017 0.0015 0.0014

fois avec un biais de 10 pixels injecté à la vue #3.

D’après les résultats du tableau, l’incertitude sur la position est certainement la mesure la plus sensible au biais avec une augmentation allant de 6 à 8 fois la valeur sans biais. Quant à elle, la mesure MVM indique la présence d’un problème dans les observations d’un point par une augmentation de 3x lorsque comparée à sa valeur sans biais. Cette augmentation est significative et permettra d’identifier les points du modèle qui ne respectent pas la condition de ré-observabilité. Il suffira de vérifier comment l’ajout d’une observation dans le modèle d’un point fait varier la mesure MVM du point. Dans le cas d’un faux point 3D qui serait le résultat de l’occultation d’objets à différentes distances, le critère MVM sera en mesure d’identifier ce point. Si le capteur se déplace linéairement dans la direction qui fait en sorte que le point image réside sur la droite épipolaire reliant les images, plus de deux vues seront nécessaires. En effet, le critère MVM représente le fait que les rayons projecteurs émanant des coordonnées images ne se croisent pas au même point dans la scène. Si seulement deux vues sont disponibles, le point ne sera pas invalidé. Une troisième vue fera augmenter significativement le critère MVM.

Jusqu’à maintenant, nous avons défini le calcul de pose relative, la construction d’une carte de la scène ainsi que l’évaluation multi-vue de la qualité des points du modèle. L’évaluation est basée sur la matrice multi-vue de Ma[99]. La contribution de cette section est la démonstration que le critère MVM est en mesure de gérer aussi bien les points réels que ceux à l’infini. La prochaine section traite d’un problème inhérent à tout système de positionnement, le calcul de pose absolue, lorsque la caméra est incapable de calculer sa position relative. Ce calcul exploite le modèle de la scène.