• Aucun résultat trouvé

De manière générale, le raffinement de la géométrie consiste à faire cor- respondre au mieux le modèle calculé aux données mesurées dans les images. Pour cela, on minimise une somme de carrés P

i,j||ij||2 où ij décrit l’erreur

obtenue pour l’estimation du j-ème point et la i-ème caméra par rapport à la mesure correspondante.

L’approche classique [102, 65] consiste à prendre i

j comme l’erreur de

reprojection en pixels du j-ème point dans la i-ème image :

||i j||= dist  pi j, f i(P j)  . (4.1)

Puisque la fonction de projection f n’est pas la même suivant le type de caméra, l’erreur ainsi calculée est une erreur spécifique dépendante du modèle utilisé. Dans notre cas, il faut minimiser une erreur générique.

Soit ¯Pj = [Xj Yj Zj Tj]> les coordonnées homogènes du j-ème point

Pj dans le repère global. Soient Ri et ti l’orientation (matrice rotation) et

la position de l’origine du repère de la i-ème caméra dans le même repère global.

Si (si

j,dij) est le rayon optique correspondant à l’observation du point Pj par

la i-ème caméra, la direction de la ligne définie par si

j et Pj est

Di

j = Ri>[I3 | −ti] ¯Pj− Tjsij (4.2)

dans le repère de la i-ème caméra. Nous définissons i

j tel que ||ij|| est l’angle entre les directions dij et Dij

définies précédemment (voir Figure 4.2) :

||ij||(générique)= angle  di j,D i j  . (4.3)

Dans le cas idéal, les directions di

j et Dij sont parallèles (ce qui est équivalent

à une erreur de reprojection de zéro pixel).

4.3.2 Choix de l’erreur angulaire

A première vue, on choisit i

j comme la valeur exacte de l’angle formé par

les vecteurs di

j et Dij. Celle-ci s’exprime de la manière suivante :

i j = arccos(d i j. Di j ||Di j|| ) (4.4)

Camera i(Ri, ti) P oint j(Xj, Yj, Zj, Tj) Di j dij ij sij

Fig. 4.2 – Angle entre le rayon correspondant à l’observation (si

j,dij) et le

rayon passant par si

j et le point 3D Pj. L’ajustement de faisceaux générique

minimise une somme de carrés de tels angles. puisque di j ·Dij = dij Dij cos  angle(di j,Dij)  et ||di j|| = 1. Cependant,

des expériences ont montré que la méthode de Levenberg-Marquardt impliquée dans l’ajustement de faisceaux convergeait mal avec cette erreur. Une explication théorique à ceci est donnée dans [44]. Cette fonction d’erreur n’est pas continue C1 si i

j=0 et c’est cette discontinuité à la solution exacte

qui peut entraîner des problèmes de convergence. Le choix de i

j comme on le décrit maintenant s’est montré satisfaisant.

Nous choisissons i j = π(RjiDij) = π  Rji  Ri>[I3 | −ti] ¯Pj− Tjsij  (4.5) où Ri

j est une matrice rotation telle que Rijdij = [0 0 1]> et π



[x y z]> =

[x/z y/z]>. On note que i

j est un vecteur 2D dont la norme euclidienne

||i

j|| est égale à la tangente de l’angle entre dij and Dij. En effet, puisque

π  [x y z]> = q x2+y2

z2 est la tangente de l’angle formé par les vecteurs

[0 0 1]> et [x y z]>, on voit que ||i j||2 = tan2  angle(di j,Dij)  . La tangente est une bonne approximation de l’angle si celui-ci est petit, et c’est le cas dans ce contexte.

De la même façon que pour la méthode spécifique aux caméras pers- pectives, un ajustement de faisceaux local est appliqué à chaque fois qu’une image clef Iiest ajoutée à la reconstruction 3D. Les paramètres des points 3D

et ceux des caméras à la fin de la séquence sont raffinés par la minimisation de la fonction de coût : gi(Ci, Pi) = X Ck∈{Ci−N+1 ... Ci} X Pj∈Pi π  Rjk  Rk >[I3 | −tk] ¯Pj− Tjskj  2

où Ci et Pi sont respectivement les paramètres des caméras génériques (pa-

ramètres extrinsèques aux images clef) et les points 3D choisis à l’étape i (Figure 4.3). Le critère minimisé tient compte des reprojections dans les N (avec N ≥ n) dernières images clef (typiquement n = 3 et N = 10).

Ci Ci−1 Ci−2 Ci−3 Pi Ci N n

Fig. 4.3 – Ajustement de faisceaux local et angulaire appliqué lorsque la

i-ème image clef (de pose Ci) est sélectionnée. Seuls les points Pi et poses Ci

entourées sont optimisées. La fonction de coût minimisée tient compte des projections des points 3D dans les N dernières images clef.

4.3.3 Comparaison Erreur angulaire/Erreur image pour

une caméra perspective

Avant tout, il est nécessaire de vérifier que l’ajustement de faisceaux géné- rique angulaire ne dégrade pas les performances de l’ajustement de faisceaux classique, tant au niveau de la précision qu’au niveau de la vitesse de conver- gence. Les résultats de la comparaison sont présentés sur la Figure 4.4. Le graphique 4.4(a) montre la décroissance moyenne de l’erreur au cours des itérations, dans le cas classique erreur de reprojection image et dans le cas

erreur angulaire. Les premiers tests ont été effectués sur 4 exemples (Tableau

4.4(c)) sur des données réelles non-triviales (2 en intérieur et 2 en extérieur) acquises par une caméra perspective (images de taille 512 × 384). On voit que dans les deux cas, l’erreur évolue quasiment de la même manière, ce qui

montre que le choix de l’erreur angulaire est correct en ce qui concerne la convergence.

Une seconde expérience a été menée sur des données de synthèse. On part d’une reconstruction exacte à laquelle on ajoute un bruit gaussien dans l’es- pace image. Ensuite, on raffine globalement de deux façons différentes : en minimisant une erreur image ou une erreur angulaire. Le graphique 4.4(b) montre l’erreur 3D commise sur la position 3D des points et des centres op- tiques des caméras par rapport à la reconstruction exacte, en fonction de l’écart type sur le bruit. On voit que l’erreur angulaire n’est pas plus sensible au bruit que l’erreur de reprojection dans l’image. Finalement, on remarque que les temps de calculs sont très similaires dans les deux cas.

0.5 0.6 0.7 0.8 0.9 1 0 1 2 3 4 5 6 7 Erreur relative Iterations erreur angulaire erreur image

(a) Progression moyenne de l’erreur ||||/||0|| en

fonction des itérations.

0 0.5 1 1.5 2 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Erreur 3D Ecart type points(angulaire) points(image) cameras(angulaire) cameras(image)

(b) Erreur 3D sur la position des points et des caméras en fonction de l’écart type σ du bruit ajouté sur les données.

Séq. #img #pts 3D #pts 2D Temps img (s) Temps angl (s) Ex. 1 30 1.889 7.855 1.9 2.2 Ex. 2 30 1.836 6.948 1.2 1.3 Ex. 3 30 1.061 4.792 1.9 1.9 Ex. 4 30 1.312 6.025 1.8 1.8

(c) Données et temps de calcul.

Fig. 4.4 – Comparaison des ajustements de faisceaux angulaire/image. (a) Convergence. (b) Résistance au bruit. (c) Données et temps de calcul.