• Aucun résultat trouvé

Calcul de la geometrie epipolaire

3.4 Nos methodes d'appariement

3.4.8 Calcul de la geometrie epipolaire

Le calcul de la geometrie epipolaire a partir seulement d'appariements dans les images a longtemps ete problematique: les resultats etaient extr^emement sensibles a la precision des appariements, et encore fallait-il s'assurer que tous les appariements fussent rigoureu-sement corrects. De nombreuses etudes ont ete menees sur cette question, notamment par Q.T. Luong dans sa these [Luo 92], par Z. Zhang pour les aspects de robustesse [Zha 94], et par R. Hartley pour les questions de precision et de conditionnement numerique [Har 95]. L'algorithme que nous utilisons pour le calcul de la matrice fondamentale combine ces avancees. Nous decrivons ci-dessous l'algorithme lineaire propose par R. Hartley, pour le calcul de

F

1;2 entre les images 1 et 2, connaissant au moins 8 appariements (

p

i

;q

i) entre les images (((calcul lineaire avec obligation de rang 2))).

1. Resoudre les equations

q

Ti

Fp

i = 0.

2. Forcer

F

a ^etre de rang 2, par une decomposition svd:

F

=

UDV

T.

D

est une matrice diagonale contenant les valeurs propres



1,



2,



3, dont on annule la plus faible, puis on recompose

F

1;2 :

F

1;2 =

UD

0

V

T.

Cet algorithme garantit que la matrice fondamentale calculee est bien de rang 2. Nean-moins, si les coordonnees des points sont des coordonnees en pixels dans les images, elles varient dans une gamme trop importante (typiquement de 0 a 500), et la resolution nu-merique est mal conditionnee: les coecients du systeme sont dans une amplitude de 0 a 5002. Aussi, R. Hartley propose de normaliser les coordonnees, et il a montre que dans ce cas, les performances de l'algorithme lineaire sont equivalentes aux meilleurs algorithmes non-lineaires. Le nouvel algorithme est le suivant.

1. Normaliser les appariements (

p

i

;q

i) de facon a les placer dans un cercle de centre 0 et de rayon 1.

2. Proceder au calcul lineaire de

F

1;2 decrit precedemment. 3. De-normaliser

F

1;2.

On autorise en n que dans les appariements donnes, une proportion



soit fausse (outliers). Nous appliquons alors une technique de moindres carres medians, classique en statistiques robustes.

1. Choisir 8 appariements au hasard.

2. Sur ces 8 appariements, proceder a un calcul de

F

1;2 avec normalisation. 3. Calculer l'erreur mediane a



.

4. Repeter

N

fois les etapes 1 a 3, en conservant la matrice correspondant a l'erreur mediane minimale. De cette erreur mediane, on peut estimer de facon robuste l'ecart-type



de la distribution des erreurs, en supposant que celles-ci suivent une loi gaussienne (m^eme principe que pour la mesurerzssd).

5. Pour la meilleure matrice, etablir la liste de tous les appariements respectant cette contrainte epipolaire a 2

:

5



pres.

6. E ectuer un calcul nal avec tous ces appariements.

Il existe une relation entre le nombre de tirages

N

a e ectuer, le taux



d'outliers attendu, et la probabilite souhaitee de trouver la bonne matrice. Si on souhaite atteindre une probabilite de 99

:

9 % de trouver la matrice fondamentale correcte, alors:

P

(au moins un tirage parmi les

N

est correct) = 0

:

999 (3.44) 1,

P

(les

N

tirages donnent tous des matrices incorrectes) = 0

:

999 (3.45) 1,

P

(un tirage donne une matrice incorrecte)N = 0

:

999 (3.46) 1,

P

(un tirage contient au moins un faux appariement parmi les 8)N = 0

:

999 (3.47) 1,(1,

P

(les 8 appariements du tirage sont corrects))N = 0

:

999 (3.48)

1,(1,(1,



)8)N = 0

:

999 (3.49)

Pour



= 0

:

5 et dans les conditions precedentes, on trouve

N

= 1765 tirages a e ectuer. Notons que la methode de moindres carres medians n'est plus garantie de fonction-ner pour

 >

0

:

5. En e et, si on suppose que plus de la moitie des appariements sont faux, il est possible qu'une proportion de ces appariements soient coherents entre eux par hasard. L'algorithme trouvera une matrice coherente avec une certaine proportion des appariements, mais sans aucune garantie que ce soit la bonne matrice.

En n, les appariements rejetes sont ceux qui ne respectent pas la geometrie epipolaire. Il se peut donc que nous conservions pour ce calcul des appariements faux, respectant par hasard la contrainte epipolaire. En conclusion, nous ne pourrons pas supprimer toutes les ambigutes a cette etape, et il faudra pouvoir travailler sur des matrices imprecises aux etapes suivantes.

3.4.8.1 Distance entre matrices fondamentales

L'utilisation d'images synthetiques parfaitement etalonnees nous permettra de com-parer les matrices fondamentales calculees aux matrices fondamentales theoriques. Pour cela, nous avons besoin d'une mesure de distance entre matrices fondamentales. Celle que nous proposons s'appuie sur le calcul des distances des points a leurs epipolaires dans les images. Elle mesure la distance entre la matrice theorique

F

1;2th et la matrice estimee

F

1;2es.

1. Tirer un point

p

au hasard dans l'image 1.

2. Calculer sa ligne epipolaire estimee

D

es2 =

F

1;2es

p

.

3. Tirer un point

q

au hasard dans l'image 2, et sur

D

es2 . Nous avons maintenant un couple aleatoire (

p;q

) respectant

F

1;2es.

4. Calculer la distance

d

2 de

q

a son epipolaire theorique

D

th2 =

F

1;2th

p

, et la distance

d

1 de

p

a son epipolaire theorique

D

1th=

F

2;1th

q

.

5. E ectuer

N

fois les etapes 1 a 4, en accumulant les valeurs de

d

= (

d

1+

d

2)

=

2. Les valeurs que nous donnerons seront les valeurs moyenne, mediane et maximale de

d

, pour

N

= 10000 tirages (les images sont de taille 256256, et au-dela de 10000 tirages, la distribution de

d

ne change plus). Il faut remarquer que cette mesure ne prend en compte que des points dans les images: on n'obtient pas une mesure de distance universelle entre deux matrices fondamentales, mais plut^ot une mesure de la distance entre matrices pour un couple d'images donne. Cependant, ceci est conforme a l'usage que nous allons en faire, puisque nous n'utiliserons la matrice fondamentale que pour des points situes a l'interieur des images.

De facon independante, nous avons retrouve une mesure de distance similaire dans les travaux de Z. Zhang.

3.4.8.2 Autres contraintes geometriques

La contrainte epipolaire sert a contraindre la phase de mise en correspondance dense, et nous permet de rejeter les faux appariements. Nous pourrions aussi utiliser des contraintes multi-lineaires d'ordre superieur (comme le tenseur trilineaire), a n de rendre les apparie-ments encore moins ambigus. Car contrairement a la geometrie epipolaire, il est impossible que des appariements faux entre 3 images respectent par hasard la contrainte trilineaire. Le tenseur est de plus aisement calcule (bien qu'un peu plus instable) par les m^emes techniques normalisees et robustes.

Cependant, un algorithme d'appariement dense trinoculaire serait complexe a mettre en uvre, si on veut qu'il reste symetrique, et il serait plus co^uteux que deux appariements binoculaires, car il faudrait employer des mesures de correlation trinoculaires, eventuelle-ment robustes. Ceci est une voie interessante qu'il faudrait explorer, mais nous preferons simplement fusionner des appariements binoculaires, et reporter ces questions a l'etape de reconstruction 3d, ou nous pourrons facilement tester la coherence d'appariements multi-oculaires (et non plus seulement trinoculaires).