• Aucun résultat trouvé

Calcul des matrices de projection

4.5 Construction d'une representation 3d

4.5.1 Calcul des matrices de projection

Dans le cas binoculaire, conna^tre la geometrie epipolaire entre deux images permet d'etablir une reconstruction projective des points apparies. En e et, on peut a partir de la matrice fondamentale

F

1;2 calculer deux matrices de projection

M

1 et

M

2, compatibles avec cette geometrie epipolaire, par l'equation 4.9. Dans cette equation,

e

2 est l'epip^ole dans l'image 2 (

e

2 =

Ker

(

F

1;2)), [

e

2] represente la matrice 33 associee au produit vectoriel par

e

2,

b

est un vecteur 31 quelconque, et

c

un scalaire quelconque [Rot 95, Bob 96]. Rappelons qu'inversement,

F

1;2 peut ^etre calculee a partir des matrices

M

1 et

8 > > > > > > > > < > > > > > > > > :

M

1 = 0 @

Id

33 0 1 A

M

2 = 0 @ [

e

2]

F

1;2+

e

2

b

ce

2 1 A (4.9)

Si nous disposons des parametres intrinseques de la camera, nous pouvons aussi, a partir de

F

1;2, calculer deux matrices de projection dans les images

M

1et

M

2 compatibles, et permettant cette fois une reconstruction euclidienne par triangulation. Si les parametres intrinseques sont representes par une matrice

K

, on calcule la matrice essentielle

E

par l'equation 4.10. 8 > > > > < > > > > :

K

= 0 @

u 0

u

0 0

v

v

0 0 0 1 1 A

E

=

K

T

F

1;2

K

(4.10) La matrice essentielle peut ^etre decomposee en une rotation et une translation. Selon la methode exposee par Q.T. Luong [Luo 92] et en suivant ses propres notations,

E

est d'abord decomposee en valeurs singulieres (svd) par

E

= T. Les matrices  et  etant des matrices orthogonales, on peut ecrire l'equation 4.12.

E

= (

T

1T)

:

(

R

1T) (4.11) =

T:R

= 0 @ 0 ,

t

z

t

y

t

z 0 ,

t

x ,

t

y

t

x 0 1 A

:R

(4.12)

 =

T

1

R

1 doit ^etre une decomposition en une matrice symetrique et une matrice orthogonale.

E

possedant deux valeurs propres non-nulles et egales, on a

E

= diag(1

;

1

;

0) a un facteur pres, donc les matrices

T

1et

R

1de l'equation 4.13 sont des solutions acceptables.

T

1 = 0 @ 0 1 0 ,1 0 0 0 0 0 1 A

R

1 = 0 @ 1 0 0 0 0 ,1 0 1 0 1 A (4.13)

R

doit ^etre une matrice de rotation, donc det(

R

) = +1. Si det(

R

) = ,1, on change

R

1 en,

R

1. En n, de la translation

T

et de la rotation

R

obtenues, nous deduisons

M

1 et



M

1 =

K

(

Id

33 j0 )

M

2 =

K

(

R

j

t

) (4.14)

Ces deux matrices nous permettent de reconstruire les appariements par triangulation. Si tous2 les points 3d obtenus se situent derriere l'une des cameras, alors il faut recom-mencer les calculs en utilisant cette fois les transposees de

T

1 et

R

1. Il faut de nouveau veri er que det(

R

) = +1, et changer le signe de

R

1 si necessaire. Ces di erents cas de gure correspondent au fait qu'il est impossible de determiner si les images se forment en avant du point focal (modelisation habituelle), ou en arriere du point focal, mais renversees.

Dans le cas binoculaire, nous parvenons donc, connaissant la matrice fondamentale et les parametres intrinseques, a etablir un etalonnage fort du couple de cameras. Nous pouvons en e et determiner la rotation et la translation relative des deux cameras, et calculer une reconstruction euclidienne de tous les points apparies dans les deux images.

Cette reconstruction est obtenue dans un repere euclidien arbitraire. Aussi, il n'est pas possible d'etendre cette methode au cas de

N

3 images. La gure 4.12 montre la diculte du probleme pour une con guration a trois cameras.

R, t R’, t’

F

1;2

F

2;3

O

1

O

2

O

3

X

X Y

Y

Z

Z X

0

X

0

Y

0

Y

0

Z

0

Z

0

Fig.4.12: Lorsque les positions relatives de trois images ne sont de nies que par leurs geo-metries epipolaires (donc sur une base binoculaire), il est impossible d'assurer la coherence globale des reconstructions 3d (voir texte).

2. Dans notre cas, il existe des appariements incorrects, et nous assurons plut^ot que la majorite des

Comme precedemment, supposons connus et constants les parametres intrinseques des cameras. A l'aide de

F

1;2, on peut etablir une reconstruction des points apparies entre les images 1 et 2, dans un repere euclidien arbitraire. A l'aide de

F

2;3, on peut aussi etablir une reconstruction des points apparies entre les images 2 et 3, dans un autre repere euclidien arbitraire. Il est impossible de ramener ces reconstructions dans le m^eme repere. En e et, il subsiste toujours une ambigute fondamentale entre la distance de prise de vue, et la taille de la scene observee : si la scene est plus grande, mais vue de plus loin, alors les images formees sur les cameras sont inchangees, et les matrices fondamentales ne varient pas. Il est donc impossible de determiner le facteur d'echelle a partir de cette methode d'etalonnage. Il ne sut donc pas de composer les rotations et les translations entre les reperes des images 1, 2 et 3 pour obtenir une reconstruction valable dans les trois images, car ces transformations ne sont de nies qu'a un facteur d'echelle pres, potentiellement di erent pour chaque couple d'images.

Un raisonnement simple sur le nombre de degres de liberte du probleme nous amene au m^eme resultat. Une matrice fondamentale determine 7 parametres: elle est de taille 33, elle est de nie a un facteur multiplicatif global pres, et elle est de rang 2, ce qui xe une relation trilineaire sur ses coecients. Les trois matrices fondamentales

F

1;2,

F

2;3 et

F

1;3 que l'on peut calculer entre trois images nous fournissent donc 21 coecients. Or, les matrices de projection 34 dans les trois images determinent chacune 11 coef- cients (elles sont aussi de nies a un facteur multiplicatif global pres), et la reconstruction projective obtenue serait de nie dans l'espace a une homographie 44 pres (soient 15 co-ecients). Ainsi, si l'on considere les matrices de projection, et non plus les matrices fondamentales, la geometrie projective de trois images est de nie par 33,15 = 18 coe-cients, et non 21.

Les matrices fondamentales existant entre trois images sont donc liees par une condi-tion mathematique. Cela explique pourquoi nous ne pouvons pas retrouver la structure d'une scene tridimensionnelle vue dans trois images en ne considerant que les matrices fondamentales, c.-a-d. en ne considerant les images que deux par deux. C'est pourquoi les tenseurs trilineaires sont utilises pour ces con gurations; comme nous l'avons vu, un tenseur trilineaire contient exactement 18 degres de liberte, et constitue un ensemble mi-nimal de parametres pour decrire la geometrie relative de trois images dans leur ensemble. Utiliser un tenseur trilineaire et les parametres intrinseques pourrait donc aider a resoudre l'etalonnage pour trois images, mais le probleme ne serait pas resolu pour

N

4 images. Dans notre application, par simplicite, nous nous limiterons donc au cas binoculaire.