• Aucun résultat trouvé

POINTS ET DE CAMÉRAS

7.3 Une interprétation géométrique

7.3.3 Cas métrique et Euclidien

( qT 0) avec q ∼ ¯H[h2]l. Projetons q sur la deuxième vue de référence : on obtient q ∼ ¯H[h2]l∼ ˜H21l. Donc ˜H21est en un certain sens réciproque à la matrice fondamentale qui affecte des droites aux points. La matrice fondamentale donne des contraintes d’appariement pour les points, mais ˜H21ne donne aucune contrainte pour des droites générales ;

le bloque (3× 3) ˜H22est une homographie de plan pour points induite entre les vues de référence parΠ, le plan à l’infini de la deuxième reconstruction. Nous avons

montré que ¯H était une homographie de plan et h1le deuxième épipôle correspondant à la paire de vues de référence. En utilisant la formulation (2.51) de la famille des homographies de plan, ˜H22= h ¯H −h1hT2 est une homographie de plan induite par le plan ( hT2 h)T ∼ Π

, qui sont les coordonnées du plan à l’infini de la deuxième reconstruction exprimées dans la première base ;

le bloque (3× 6) (˜H2122) transfère une droite 3D avec les coordonnées de Plü-cker L de la première base vers la deuxième et projette son intersection avec Π

dans la deuxième vue de référence. Nous pouvons voir ceci comme suit. Nous avons

Q

T ∼ ( qT 0) avec q ∼ (˜H2122)L, les coordonnées du point à l’infini de ˜

HL, d’après l’interprétation géométrique des coordonnées de Plücker, voir la section

2.12 du chapitre 2, et qui se projette enq dans la deuxième vue de référence.

7.3.2 Cas affine

L’interprétation des bloques de la matrice d’affinité pour droites 3D est beaucoup plus facile et nous en donnons donc une description plus succinte. Le bloque ˜A22 ∼ ¯A donne l’homographie à l’infini entre les vues

de référence pour les points et ˜A11∼ ¯Apour les droites. Le bloque ˜A12∼ [t]A donne la matrice fondamentale¯

entre les vues de référence comme dans le cas projectif.

7.3.3 Cas métrique et Euclidien

L’interprétation des bloques des matrices de similitude (7.19) et de mouvement rigide (7.25) pour droites 3D est triviale. Les bloques ˜D11, ˜D22et ˜S22donnent la matrice de rotation (qui est l’homographie à l’infini pour des coordonnées calibrées pour le cas Euclidien). Le bloque ˜S11donne cette matrice de rotation multipliée par le carré du changement d’échelle. Les bloques ˜D12et ˜S12donnent la matrice essentielle entre les deux vues de référence.

7.4. EXTRACTION DU MOUVEMENT À PARTIR DUNE MATRICE DE MOUVEMENT POUR DROITES3D 171

7.4 Extraction du mouvement à partir d’une matrice de mouvement pour

droites 3D

Etant donnée une matrice de mouvement pour droites 3D, il est possible d’en extraire les paramètres du mouvement correspondant, c’est à dire la matrice de mouvement usuelle (4× 4) correspondante. Nous

dé-veloppons des algorithmes pour réaliser cette extraction dans les cas projectif, affine, métrique et Euclidien. Nous considérons le cas où la matrice (6× 6) est exactement une matrice de mouvement pour droite 3D, c’est

à dire que les contraintes de consistance développées en §7.2 sont satisfaites, et le cas où ces contraintes de consistance ne sont pas satisfaites. Dans ce cas, la structure de la matrice est bruitée et une solution approchée du mouvement est calculée. Une possibilité est de minimiser un critère aux moindres carrés basé sur la distance induite par la norme de Frobenius entre la matrice (6× 6) donnée et la matrice de mouvement pour droites 3D

correspondant aux paramètres estimés :

min

G ˜G − ˜B2. (7.28)

L’optimisation doit être effectuée sur une paramétrisation adaptée du mouvement considéré. Dû aux structures des matrices de mouvement pour droites 3D, c’est un problème d’optimisation non-linéaire que nous résolvons en utilisant un algorithme de type Levenberg-Marquardt. Dans les sections suivantes, nous développons des algorithmes pour le calcul d’une solution initiale. Ces algorithmes sont fortement liés aux preuves d’indépen-dance des contraintes de consistance de la section 7.2.

7.4.1 Cas projectif

Nous donnons dans le tableau 7.1 un algorithme permettant d’extraire une matrice d’homographie à partir d’une matrice d’homographie pour droites 3D, c’est à dire satisfaisant les contraintes de consistance (7.7), (7.8) et (7.10). Les notations± et ∓ sont employées de manière consistante, c’est à dire ±x = − ∓ x.

1. ¯H = ±| det(˜H11)|˜H−T 11 ; 2. [h1] =±˜H12−1(détermination de h 1) ; 3. [h2] =∓¯H−121(détermination de h2) ; 4. hI(3×3) =±(˜H22+ h1hT2) ¯H−1(détermination de h). TAB. 7.1 – Algorithme d’extraction d’une matrice d’homographie

H à partir d’une matrice d’homographie pour droites 3D ˜H.

Preuve : pour prouver la validité de cet algorithme, nous reformons une matrice d’homographie pour droites

au bloque original de ˜H : ˜ H 11 = det( ¯H)¯H−T = det  ±| det(˜H11)|˜H−T 11  ±1  | det(˜H11)| ˜ H11 = ±| det(˜H11)|3 1 det( ˜H11) ±1  | det(˜H11)| ˜ H11 = ±˜H11 ˜ H12 = [h1]H¯ = ±˜H12(±¯H−1) ¯H = ±˜H12 ˜ H 21 = −¯H[h2] = − ∓ ¯H(±¯H−1) ˜H21 = ±˜H21 ˜ H 22 = h ¯H − h1hT2 = ±(˜H22+ (±h1)(±hT 2))( ¯H−1) ¯H − h1hT2 = ±˜H22.

Notons que l’algorithme du tableau (7.1) n’extrait l’homographie H qu’au signe près. Ce n’est pas un problème en pratique, l’échelle, et donc le signe de H ne sont pas significatifs. Ceci est lié au fait que, comme montré en §7.2.1.2, la matrice de mouvement pour droites 3D correspondant à λH est λ2H : le signe du facteur λ est donc˜

perdu.

En présence de bruit, c’est à dire lorsque les contraintes de consistance ne sont pas satisfaites, l’extraction est conduite au sens des moindres carrés comme indiqué précédemment. Nous proposons la solution d’initialisation suivante : au lieu de considérer la minimisation directe (7.28), nous minimisons une erreur aux moindres carrés à chaque étape de l’algorithme du tableau 7.1. D’autres solutions sont possibles. L’étape 1 est conservée telle quelle. Les étapes 2 et 3 requièrent l’ajustement d’une matrice anti-symétrique (3× 3) [w] à une matrice générale W. La solution suivante minimise la norme de Frobenius[w]− W :

wT = 1

2(W32− W23 W13− W31 W21− W12). (7.29) L’étape 4 nécessite d’ajuster une matrice λI proportionnelle à l’identité à une matrice générale (3× 3) Λ. La

solution suivante minimise la norme de FrobeniusλI − Λ :

λ = 1 3  i Λii. (7.30) 7.4.2 Cas affine

Nous donnons un algorithme d’extraction dans le tableau 7.2 pour le cas où la matrice (6× 6)

considé-rée satisfait exactement les contraintes de consistance (7.13), (7.15) et (7.16). Pour prouver la validité de cet algorithme, nous renvoyons au cas projectif car ses 3 étapes en sont directement inspirées. Lorsque la matrice

(6× 6) donnée n’est pas exactement une matrice d’affinité pour droites 3D, nous proposons de modifier les

étapes de l’algorithme du tableau 7.2 comme suit. L’étape 1 ne change pas. L’étape 2 peut être conduite comme dans le cas projectif, en utilisant l’équation (7.29), ainsi que l’étape 3, en utilisant l’équation (7.30).

7.4. EXTRACTION DU MOUVEMENT À PARTIR DUNE MATRICE DE MOUVEMENT POUR DROITES3D 173

1. ¯A = ±| det(˜A11)|˜A−T

11 ;

2. [t] =±˜A12−1(détermination de t) ; 3. aI(3×3) =±˜A22A−1(détermination de a).

TAB. 7.2 – Algorithme d’extraction d’une matrice d’affinité A à partir d’une matrice d’affinité pour droites 3D ˜A.