3.5.1 Principe et mise en oeuvre
Lorsque la i-ème image clef Ii est sélectionnée et la caméra Ci ajoutée à
la reconstruction, une étape d’optimisation par ajustement de faisceaux est effectuée. On utilise l’algorithme de Levenberg-Marquardt pour mini- miser la fonction de coût fi(Ci, Pi) où Ci et Pi sont respectivement les pa-
ramètres extrinsèques des caméras et les coordonnées 3D des points choisis pour cette étape i. L’idée importante de l’approche présentée est de réduire l’ensemble des paramètres optimisés aux plus récemment calculés. Pour cela,
0 200 400 600 800 1000 1200 20 40 60 80 100 120 140 160 180 200 NB couples 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 20 40 60 80 100 120 140 160 180 200 ellipsoide 0 50 100 150 200 250 300 20 40 60 80 100 120 140 160 180 200 NB inliers images
Fig. 3.4 – Évolution des critères de sélection des images clef : nombre de couples de points appariés, ellipsoïde d’incertitude sur la pose calculée et nombre d’inliers sur une séquence de 200 images.
on optimise les paramètres extrinsèques des n dernières caméras et les points qui s’y projettent sur une sous-séquence de N images (avec N > n). Cela signifie qu’on affine les coordonnées des points 3D et les poses des n caméras en minimisant une fonction de coût qui tient compte des reprojections 2D sur N images (voir Figure 3.5).
Ainsi, on a Ci = {Ci−n+1. . . Ci}et Pi contient tous les points 3D se projetant
dans les caméras de Ci. La fonction de coût fi est la somme des erreurs de
reprojections des points de Pi dans les images Ii−N +1 à Ii :
fi(Ci, Pi) = X Ck∈{Ci−N+1 ... Ci} X Pj∈Pi kj 2 (3.1)
où k j 2 = pkj − π(CkP¯j) 2
est la distance euclidienne au carré entre CkP¯ j,
projection estimée du point Pj par la caméra Ck et le point détecté pkj cor-
respondant.
Comme on vient de le voir, les paramètres n (nombre de caméra optimisées à chaque étape) et N (nombre d’images prises en compte dans la fonction de reprojection) sont les deux principaux paramètres impliquées dans le proces- sus d’optimisation. Le choix de leur valeur peut influencer la précision des résultats et le temps de calcul. Les expériences ont permis de déterminer les valeurs de n et N (typiquement, on prend n = 3 et N = 10) qui fournissent des résultats précis.
Dans notre implémentation, chaque optimisation par ajustement de fais- ceaux local comporte en fait deux étapes d’optimisation par la méthode de Levenberg-Marquardt(Algorithme 1 de la section 1.5), séparées par une mise à jour des points 3D et 2D satisfaisant la géométrie (le j-ème point 3D et la i-ème pose clef sont consistants si l’erreur i
j est inférieure à un seuil
= 2 pixels). Une série est arrêtée si l’erreur ne descend pas suffisamment
entre deux itérations (||k|| ≥ α||k−1||), avec α = 0.9999) ou si le nombre
maximum d’itérations est atteint (5 dans notre cas). En pratique, le nombre d’itérations nécessaire pour chaque ajustement de faisceaux local à l’étape
i est assez faible. Cela est dû au fait que, mise à part la dernière caméra
ajoutée, toutes les poses de caméras ont déjà été optimisées aux étapes i − 1,
i −2, ...
On peut noter qu’au début de la reconstruction, on ne raffine pas seule- ment les paramètres de la fin de la séquence mais la structure 3D toute entière. Ainsi, pour i ≤ Nf, on prend N = n = i. Nf est le nombre maxi-
mum de caméras de la séquence pour lequel l’optimisation à l’étape i soit globale. Passée cette limite, l’ajustement de faisceau est local (dans nos ex- périences, on choisit Nf = 20). De cette manière, les données initiales sont
optimales, ce qui est important étant donné la nature récursive de l’algo- rithme. De plus, cela ne pose pas de problème de temps de calcul puisque le nombre de paramètres est encore relativement restreint.
3.5.2 Complexité de calcul pour l’ajustement de fais-
ceaux local et global
La complexité de calcul d’une itération d’ajustement de faisceaux a été donnée en 1.5.6. Rappelons qu’elle s’écrit
Θ(Nr+ p.Nc2+ N
3
Ci Ci−1 Ci−2 Ci−3 n N Ci Pi
Fig.3.5 – Ajustement de faisceaux local 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. Ici, n = 2 et N = 4.
avec p nombre moyen de points se projetant dans une image, Nc nombre
de poses de caméras optimisées, et Nr nombre de reprojections 2D prises en
compte dans la minimisation.
Pour une séquence vidéo de Nseq images clef, la complexité d’une itération
d’ajustement de faisceaux appliqué aux n dernières caméras et prenant en compte les reprojections 2D dans N images est
Θ(p.N + p.n2 + n3) (3.2)
alors que la complexité d’une itération d’ajustement de faisceaux global sur la séquence complète est
Θp.Nseq2 + Nseq3
(3.3) puisque le nombre Nr de reprojections 2D prises en compte, qui est de l’ordre
du nombre total (p.Nseq) de reprojections 2D de la séquence, est négligeable
devant p.N2
seq.
Il est clairement avantageux de diminuer la valeur des paramètres (n et N) si l’on souhaite réduire la complexité de calcul de l’optimisation. Par exemple, le gain en complexité obtenu par rapport à l’ajustement de faisceaux global
pour une séquence de 20 images clef et 150 reprojections 2D par image est donné dans le Tableau 3.1. Le gain est de 10 pour n = 5, N = 20 et de 25 pour
n= 3, N = 10. La diminution en complexité de calcul est également illustrée
par la Figure 3.6 où l’on voit la réduction de la dimension des matrices Jacobienne J et Hessienne approchée J>J impliquée dans la résolution du
système linéaire 1.51 pour une itération d’ajustement de faisceaux.
Type p n N gain
global 150 20 20 1
local 1 150 5 20 10
local 2 150 3 10 25
Tab.3.1 – Gain en complexité de calcul obtenu avec l’ajustement de faisceaux local par rapport à l’ajustement de faisceaux global pour une itération.
Cette étude porte sur une itération de l’algorithme de Levenberg- Marquardt. En pratique, pour la méthode incrémentale, les paramètres
n and N sont fixés et le nombre d’itérations est limité pour chaque ajuste- ment de faisceaux local (on remarque que le nombre d’itérations nécessaire est assez faible). La complexité finale de notre méthode de reconstruction pour une séquence complète est linéaire avec Nseq alors qu’une seule itéra-
tion d’ajustement de faisceau global croît avec N3
seq. La méthode incrémentale
est ainsi très intéressante en terme de complexité de calcul par rapport à une méthode classique avec ajustement de faisceaux global. Elle est d’autant plus efficace que la séquence est longue avec un nombre d’images élevé.