• Aucun résultat trouvé

Droites à l’infini ou contenant l’origine

POINTS ET DE CAMÉRAS

6.4 Ajustement de faisceaux

6.4.2 La représentation orthonormale des droites 3D

6.4.2.6 Droites à l’infini ou contenant l’origine

Les droites 3D sur le plan à l’infini d’une part, et les droites 3D contenant l’origine du repère monde d’autre part n’ont pas une représentation orthonormale unique. Plus précisément, leur représentation orthonormale a un degré d’ambiguïté.

Caractérisation des ambiguïtés. Pour caractériser analytiquement ces ambiguïtés, considérons l’équation de recomposition (6.11) :

L(U, W)T = ( w11uT1 w21uT2 ).

Lorsque w11 = 0, c’est à dire lorsque la droite contient l’origine, alors les coordonnées de Plücker s’écrivent ( 0T w21uT2 )T. Elles ne dépendent plus de u1 mais seulement de u2. La matrice U peut donc être trans-formée librement, sans changer la droite représentée par toute matrice de rotation laissant u2 invariant. Ce sont toutes les rotations autour de l’axe des y, notées Ry(α). Cette ambiguïté est résumée par l’équation suivante :

Π Q d = tan−1α tan−1(α + w) O L u1 u2 u3 Π Q O L d u1 u2 u3 u1 C1 (a) (b) Π Q O L d u1 u2 u3 u2 C2 Π Q O L d u1 u2 u3 u3 (c) (d)

FIG. 6.3 – Interprétation géométrique de la mise à jour de la représentation orthonormale

(U = (u1 u2 u3), W = R2D(α)) d’une droite 3D L selon le schéma de mise à jour (6.13) de para-mètres xT= (u1 u2 u3 w). Les flèches rouges indiquent le mouvement subi par la droite. (a) : le paramètre w

modifie la distance entreL et O (L est translatée dans le plan Π parallèlement à elle-même). (b) : le paramètre

u1provoque une rotation d’angle u1deL autour du cercle C1de centreO, de rayon d et contenu dans le plan Π . (c) : le paramètre u2provoque une rotation d’angle u2 deL autour du cercle C2de centre O, de rayon d et contenu dans le plan défini par u1et u3. (d) : le paramètre u3 provoque une rotation d’angle u3deL autour de l’axe défini par les pointsO et Q.

6.5. RÉSULTATS EXPÉRIMENTAUX 141

Lorsque w21 = 0, c’est à dire lorsque la droite est à l’infini, les coordonnées de Plücker s’écrivent ( w11uT1 0T )T et ne dépendent plus de u2. La matrice U peut donc être multipliée par toute matrice de rotation autour de l’axe des x, laissant invariant u1 :

(L ∈ Π)⇔ (w21= 0) ⇒ (∀α ∈ R, L(U, W) = L(URx(α), W)) .

Pour résumer, la représentation orthonormale est ambiguë lorsque w11w12= 0.

Conséquences sur l’optimisation non-linéaire. Une des conséquences de ces ambiguïtés est le fait qu’elles rendent la matrice Jacobienne A, dont l’expression est donnée par l’équation (6.16), singulière ou mal condi-tionnée. Ceci ne pose pas de problème lorsqu’une technique d’optimisation telle Levenberg-Marquardt, basée sur une régularisation des équations normales, est utilisée. Nous avons montré expérimentalement dans le cas de la représentation orthonormale de la matrice fondamentale, voir chapitre 4, §4.4.8 que de telles ambiguïtés dans la représentation ne posent pas de problèmes pratiques pour l’optimisation non-linéaire.

6.5 Résultats expérimentaux

Nous comparons nos algorithmes avec d’autres à l’aide de données simulées puis réelles. Nous détaillons ci-dessous les méthodes comparées, l’erreur mesurée, la reconstruction initiale et la paramétrisation des caméras pour l’ajustement de faisceaux.

Méthodes comparées. Nous comparons les méthodes suivantes. Le premier groupe de méthodes n’agit que sur la structure. Ce sont des méthodes de triangulation, c’est à dire de reconstruction individuelle de droites, dont le résultat dépend du mouvement des caméras :

 LIN_HARTLEY, voir §6.3.1, est la méthode de triangulation proposée dans [92, 93, §11.6] basée sur les représentations duales (deux points ou deux plans) ;

 LIN, voir le tableau 6.3, est la méthode de reconstruction de coordonnées de Plücker, avec post-correction de Plücker ;

 QLIN1, voir le tableau 6.4, est la correction quasi-linéaire du biais introduit par la distance algébrique dansLIN, alternée avec une correction de Plücker ;

 QLIN2, voir le tableau 6.5, complète QLIN1 en incorporant la contrainte de Plücker au premier ordre à chaque itération ;

 NLIN, voir §6.3.8, est la minimisation non-linéaire par l’algorithme de Levenberg-Marquardt de l’erreur de reprojection, basée sur la représentation orthonormale de la droite décrite dans le tableau 6.6. Le deuxième groupe de méthodes agit sur la structure et le mouvement des caméras. Ce sont les méthodes d’ajustement de faisceaux :

 MLE_HARTLEYest la méthode proposée dans [92] d’estimation du tenseur trifocal et des droites para-métrées par deux de leurs images, dont une extension au cas de vues multiples est proposée en §6.4.1 ;

 MLEest la minimisation non-linéaire par l’algorithme de Levenberg-Marquardt de l’erreur de reprojec-tion, basée sur la représentation orthonormale décrite dans le tableau 6.6.

Erreur mesurée. Nous mesurons la qualité d’une estimation en utilisant l’erreur d’estimation, comme décrit dans [93, §4]. Ceci fournit aussi la borne inférieure théorique. L’erreur d’estimation est équivalente à l’erreur de reprojection et se calcule directement par la formule (6.7) avec les valeurs du mouvement et de la structure obtenues à la convergence des algorithmes.

Reconstruction initiale des caméras. La reconstruction initiale des caméras est effectuée par la méthode de Triggs [216] basée sur les contraintes de fermeture. Ces contraintes de fermeture sont formulées en termes des tenseurs trifocaux entre triplets d’images, dont le calcul est effectué par l’algorithme de Hartley [92].

Paramétrisation des caméras pour l’ajustement de faisceaux. Nous paramétrisons le mouvement des ca-méras pour l’estimation non-linéaire comme indiqué au chapitre 3, §3.5.5. Brièvement, la paramétrisation consiste à prendre pour paramètres les coefficients de n− 1 matrices de projections.

6.5.1 Données simulées

Scène simulée. Nous simulons un jeu de caméras observant un ensemble de droites 3D, choisies au hasard dans une sphère d’un rayon de 1 mètre, par tirage aléatoire de leurs extrémités. Les caméras sont bien reparties autour de cette sphère. Nous fixons la distance focale des caméras à 1000 (en pixels). Notons que cette infor-mation n’est pas utilisée dans le reste des expérimentaux : les reconstructions obtenues sont projectives. Les extrémités de toutes les droites sont projetés dans toutes les vues et leurs projections sont bruitées avec une dis-tribution Gaussienne. La configuration standard consiste en 3 caméras situées à une distance de 10 mètres des droites, et une distance entre caméras consécutives (“baseline” en Anglais) de 1 mètre. Le nombre de droites simulées est 30 et le niveau de bruit est 1 pixel. Chaque paramètre de cette scène est varié indépendamment pour pouvoir comparer les différentes méthodes dans différentes situations. Les résultats sont des moyennes sur 100 essais.

Résultats. Les figures 6.4 et 6.5 montrent les résultats obtenus lorsque différents paramètres d’observation sont modifiés. Nous commentons ces résultats de manière globale puis spécifiquement. Nous observons que

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.5 1 1.5 2 2.5 3 3.5 4

Bruit image (pixels)

Erreur de reprojection (pixels)

LIN QLIN1 QLIN2 NLIN MLE MLE_HARTLEY LIN_HARTLEY LOWER_BOUND 15 20 25 30 35 40 45 50 55 60 0 0.5 1 1.5 2 2.5 3 3.5 4 Nombre de droites

Erreur de reprojection (pixels)

LIN QLIN1 QLIN2 NLIN MLE MLE_HARTLEY LIN_HARTLEY LOWER_BOUND (a) (b)

FIG. 6.4 – Erreur de reprojection pour différents niveaux de bruit (a) et différents nombres de droites (b). l’ordre des méthodes est toujours le même. On peut repartir les méthodes en trois groupes.

Les méthodesLINetQLIN1 donnent des résultats très proches. Elles sont suivies parLIN_HARTLEY. Ceci s’explique comme suit. Les méthodesLINetQLIN1 donnent un résultat biaisé par la correction de Plücker. De plus, la méthodeLINminimise une erreur algébrique. La méthodeLIN_HARTLEYn’a pas le biais introduit par la correction de Plücker mais est aussi biaisée pour deux raisons : d’une part, l’erreur minimisée est algébrique, et d’autre part, la forme de cette erreur, voir §6.3.1 est “duale” à celle de l’erreur de reprojection (elle est exprimée entre points reprojetés et droites observées, contrairement à l’utilisation de droites reprojetées et points mesurés), contrairement à l’erreur considérée parLIN, équation (6.4).

Ensuite, les méthodes QLIN2 et NLIN donnent des résultats intermédiaires entre les méthodes du groupe précédent et l’ajustement de faisceaux. Les courbes pour ces deux méthodes sont confondues. Ceci est logique car elles minimisent toutes deux l’erreur de reprojection individuellement pour chaque droite et prennent toutes deux en compte la contrainte de Plücker,NLIN2 via sa linéarisation, etNLINpar une paramétrisation adaptée, la représentation orthonormale des droites 3D.

6.5. RÉSULTATS EXPÉRIMENTAUX 143 3 4 5 6 7 8 9 10 11 12 0 0.5 1 1.5 2 2.5 3 3.5 4 Nombre d’images

Erreur de reprojection (pixels)

LIN QLIN1 QLIN2 NLIN MLE MLE_HARTLEY LIN_HARTLEY LOWER_BOUND 6 8 10 12 14 16 18 0 0.5 1 1.5 2 2.5 3 3.5 4

Distance scène à caméras (mètres)

Erreur de reprojection (pixels)

LIN QLIN1 QLIN2 NLIN MLE MLE_HARTLEY LIN_HARTLEY LOWER_BOUND (a) (b)

FIG. 6.5 – Erreur de reprojection pour différents nombres d’images (a) et distances scène à caméras (b).

Finalement, les méthodesMLE etMLE_HARTLEY d’ajustement de faisceaux, impliquant les droites et les caméras, donnent des résultats souvent identiques. En effet, seule la paramétrisation des droites change entre ces deux méthodes, MLE utilisant la représentation orthonormale et MLE_HARTLEY utilisant deux droites image. Nous n’avons pas rencontré les singularités de la représentation par deux droites image au cours de ces expéri-mentations.

Plus spécifiquement, nous observons sur la figure 6.4 (a) qu’avec plus d’un pixel de bruit, les méthodes du premier groupe donnent des résultats se dégradant rapidement, alors que les autres méthodes se dégradent plus harmonieusement à mesure que le bruit augmente. Les méthodes d’ajustement de faisceaux donnent des résultats très proches du minimum théorique. Des remarques similaires peuvent être faites lorsque le nombre de droites est varié. Cependant, on observe sur la figure 6.4 (b) que lorsque plus de 30 droites sont considérées, les méthodes du premier groupe donnent des résultats raisonnables. Ceci s’explique de la manière suivante. Ces méthodes procèdent indépendamment pour chaque droite et ne sont sensibles aux changements du nombre de droites que parce qu’elle dépendent d’une estimation du mouvement des caméras, dont la qualité dépend elle-même du nombre de droites. Lorsque plus de 45 droites sont présentes, les méthodes d’ajustement de faisceaux donnent des résultats confondus avec le minimum théorique.

Lorsque le nombre de caméras augmente, figure 6.5 (a), les algorithmes ne modifiant pas le mouvement voient leurs erreurs augmenter, alors que les algorithmes d’ajustement de faisceaux suivent une courbe descen-dante. Ceci est dû au fait que lorsque le nombre d’images augmente, le calcul initial du mouvement se dégrade. Ceci est une caractéristique de l’algorithme d’initialisation du mouvement. Il est donc normal que les méthodes ne modifiant pas cette estimation initiale donnent des résultats allant en se dégradant. Lorsque la distance entre les droites et les caméras augmente, figure 6.5 (b), l’erreur diminue pour toutes les méthodes. Ceci s’explique par le fait que le nuage de droites observé devient de plus en plus petit dans les images, ce qui réduit l’erreur absolue, mais ne traduit pas nécessairement une amélioration de la qualité de l’estimation.

6.5.2 Données réelles

Nous avons testé et comparé nos algorithmes sur plusieurs séquences d’images. Notons que la partie expé-rimentale du chapitre 8, utilise les modèles 3D dont l’obtention est décrite ci-dessous. En particulier, il y est réalisé l’alignement des séquences des livres I et des livres II et des séquences des boîtes I et des boîtes II. On y montre un autre exemple de reconstruction de droites, la séquence de la pièce de bateau.