• Aucun résultat trouvé

RECONSTRUCTION PAR AJUSTEMENT DE FAISCEAUX

3.6 Optimisation non-linéaire

L’ajustement de faisceaux est un problème d’optimisation de moindres carrés non-linéaires. Il existe des algorithmes globaux et locaux. Nous examinons deux algorithmes locaux souvent utilisés en vision par ordina-teur et photogrammétrie, les algorithmes de Gauss-Newton et de Levenberg-Marquardt. Pour une présentation plus complète d’algorithmes d’optimisation non-linéaire continue, nous renvoyons aux livres de Seber et Wild [174], de Gill et al. [70] ou de Nocedal et Wright [156]. De manière plus générale, on peut identifier l’ajus-tement de faisceaux comme un problème de régression en distances orthogonales, dont l’étude fait l’objet des travaux de Boggs et al. [34]. Pour la communauté vision par ordinateur, on peut se référer au travail de Triggs et al. [219] et en photogrammétrie aux recueils édités par Atkinson [6] et par Slama [185].

L’idée de base est de mettre à jour une solution initiale y0dont la paramétrisation est donnée par le vecteur x0 =P(y0). La loi de mise à jour correspondant à la paramétrisation est utilisée avec les paramètres de mise

à jourδk. La différence entre les algorithmes réside dans la détermination des vecteursδk. Les algorithmes de type Newton sont basés sur une approximation quadratique locale de la fonction de coût, formulée en termes des matrices Jacobienne J = ∂r∂δ et Hessienne3 ∂

2r

2δ. L’évaluation de la matrice Hessienne est souvent coûteuse.

L’approximation de Gauss-Newton permet d’écrire cette dernière en termes de la matrice Jacobienne : N = JTJ.

Cette approximation est valide soit lorsque la fonction de coût est “proche” d’être linéaire, soit lorsque les résidus sont petits, ce qui est le cas dans la plupart des problèmes d’ajustement de faisceaux. Notons que, outre l’économie du calcul des dérivées secondes de la fonction de coût, l’approximation de Gauss-Newton confère à la matrice N une structure éparse, dans les cas de régressions en distances orthogonales, voir ci-après. Soit g = JTr le vecteur gradient de la fonction de coût. L’approximation quadratique s’écrit :

C(x + δ) ≈ C(x) + gTδ +1

2δT 

e

.

Le minimum de ce modèle quadratique4 local simple est donné en posant∂δ∂e = 0, ce qui donne les équations

normales suivantes :

Nδ = −g.

En présence de libertés de jauge, les équations normales ne sont pas de rang plein et plusieurs solutions sont admises. Les algorithmes de Gauss-Newton et de Levenberg-Marquardt proposent deux stratégies différentes de résolution.

Les sections suivantes examinent respectivement les algorithmes de Gauss-Newton et de Levenberg-Marquardt puis la structure des équations normales et différentes stratégies de résolution.

3.6.1 L’algorithme de Gauss-Newton

Dans sa version originale, l’algorithme de Gauss-Newton consiste à calculer la solution suivante pourδ :

δ = −N−1g. (3.4)

3

La plupart des auteurs, par exemple Triggs et al. [219], utilisent une mise à jour additive, qui conduit à la formulation moins générale mais équivalenteJ = ∂r

∂x et 2r

2xdes matrices Jacobienne et Hessienne.

4

Notons que ce modèle quadratique est basé sur deux approximations : un développement de Taylor autour des paramètresx, puis

Cependant, en présence de libertés de jauge, la matrice N n’est pas de rang plein. Il existe alors une famille de solutions, dont la dimension correspond au nombre de degrés de liberté de jauge g. Cette famille de solutions peut être paramétrée par un vecteur v de taille (g× 1). Soit N la pseudo-inverse de Moore-Penrose de la matrice N, et Λ une matrice dont les g colonnes forment une base du noyau de N, comme précisé en §2.6.3, chapitre 2, la famille de solutions s’écrit :

δ = −Ng + Λv.

Une solution souvent utilisée, par exemple par Kanatani et Morris [112] est v = 0, qui est la solution minimisant la norme du vecteurδ. Cette méthode laisse la jauge globalement libre.

3.6.2 L’algorithme de Levenberg-Marquardt

L’algorithme de Levenberg-Marquardt [121, 133] est une variante de Gauss-Newton consistant à effectuer une régularisation ou augmentation des équations normales. La matrice N est remplacée par une matrice ré-gularisée N = N + W(λ). La matrice W(λ), appelée matrice de régularisation, doit être définie positive pour garantir un rang plein à N. Les choix suivants ont été proposés pour W(λ) :

 W(λ) = λI. C’est le choix original de Levenberg et Marquardt [121, 133] repris par Triggs et al. [219].

Nous notons cette régularisation la méthodeLM;

 W(λ) = (1 + λ)diag(N), c’est à dire multiplication des coefficients diagonaux de N par (1 + λ). Ce

choix est due à Seber [174]. Il est repris par Press et al. [163] et Hartley et Zisserman [93]. Nous notons cette régularisation la méthodeSEBER.

Il est important de noter que ces choix pour la matrice W(λ) ne violent pas la structure éparse par bloques des équations normales (voir ci-dessous).

Le paramètre λ permet le contrôle de la régularisation. Sa valeur est ajustée de manière heuristique. Si l’itération réduit l’erreur, c’est à dire siC(P−1(xk+δk)) < C(P−1(xk)), alors la mise à jour est acceptée et la valeur de λ est divisée par une constante, souvent 10, sinon la mise à jour est rejetée et λ est multiplié par la constante.

Comme l’algorithme de Gauss-Newton, l’algorithme de Levenberg-Marquardt est de complexité cubique en le nombre de paramètres, par exemple, si n caméras et m points sont reconstruits, la complexité est en

O(n3m3). Une résolution éparse des équations normales permet de réduire cette complexité, voir ci-dessous.

Une interprétation. Nous donnons une interprétation de cet algorithme, pour le cas où la matrice de régulari-sation est W(λ) = λI. Lorsque λ est petit, N = N + λI≈ N, et on obtient une itération de type Gauss-Newton,

donnée par l’équation (3.4). Lorsque λ est grand, N = N + λI≈ I, et on obtient alors une solution proche de

δ = −g, qui correspond à une itération du type descente de gradient.

Lien avec les régions de confiance. Les algorithmes de type Newton sont basés sur une approximation qua-dratique de la fonction de coût. L’idée des régions de confiance est de définir une région dans l’espace des paramètres, autour de l’estimation courante, dans laquelle l’approximation quadratique est supposée fiable. Le lien entre l’algorithme de Levenberg-Marquardt et les régions de confiance est établi par Moré [146]. La forme de la région de confiance est alors donnée par la norme définie par la matrice de régularisation W(λ). Le scalaire

λ est lié au rayon de confiance. Notons qu’il existe beaucoup d’autres méthodes de contrôle d’itération (“step

control” en Anglais), par exemple, les méthodes de “line search”, pouvant éventuellement être combinées entre elles.

3.6.3 Structure et schéma de résolution éparse des équations normales

Les équations normales résolues à chaque itération ont en général une structure éparse par bloques. Cette structure est commune à tous les problèmes de régression en distances orthogonales. La prise en compte expli-cite de cette structure permet de résoudre les équations normales avec une complexité réduite. Cette solution exploite la structure éparse correspondant soit aux paramètres des points soit à ceux des caméras. La complexité

3.6. OPTIMISATION NON-LINÉAIRE 49

devient linéaire soit pour les points, soit pour les caméras, mais reste cubique pour l’autre, c’est à dire qu’elle est réduite de O(n3m3) à O(nm3) ou à O(n3m).

Pour comprendre la résolution éparse des équations normales, il faut expliciter la structure des matrices Jacobienne et Hessienne de la fonction de coût. Si l’on organise le vecteur de paramètres avec les paramètres des caméras puis des points, et le vecteur de résidus en regroupant les résidus liés à chaque image, la matrice Jacobienne J a la forme dessinée sur la figure 3.5. L’approximation de Gauss-Newton de la matrice Hessienne est N = JTJ, sa structure est montrée sur la figure 3.5.

caméras points

caméras points

J N

FIG. 3.5 – Structure des matrices Jacobienne J et Hessienne N (approximation de Gauss-Newton), déterminant les équations normales résolues à chaque itération de l’ajustement de faisceaux. Les bloques grisés contiennent les coefficients du systèmes, alors que les parties blanches ne contiennent que des zéros. Cet exemple est pour 3 caméras et 13 points visibles dans toutes les vues.

Si l’on choisit de résoudre de manière éparse par rapport aux points, la première étape consiste à résoudre de manière dense pour les caméras en éliminant les points, puis à résoudre de manière éparse pour les points. Nous renvoyons aux travaux spécialisés sur ce sujet pour plus de détails [34, 89, 185, 219].

Notons que des solutions de résolution éparse plus générales peuvent être mises en œuvre pour la résolution des équations normales, par exemple le gradient conjugué, voir par exemple [156], ou la factorisationLUéparse, voir par exemple [52].

Il existe par ailleurs des problèmes classiques en vision par ordinateur conduisant à des structures éparses différentes pour les équations normales. Par exemple, lors de la reconstruction métrique de caméras et de points, il est courant d’estimer des paramètres communs aux caméras. On voit alors apparaître une structure découpée en trois parties : les paramètres externes des caméras avec les paramètres internes spécifiques à chaque caméra (souvent la longueur focale), les paramètres internes communs (souvent le point principal) et les paramètres des points.

3.6.4 Reconstruction avec contraintes géométriques

On peut imaginer inclure des contraintes géométriques à la reconstruction. Au chapitre 5, nous abordons le cas des contraintes de coplanarité entre les points reconstruits. Les méthodes d’ajustement de faisceaux avec des contraintes ont été particulièrement étudiées dans la communauté des photogrammètres, voir par exemple le recueil édité par Atkinson [6]. Les méthodes proposées sont, entres autres, l’utilisation de multiplicateurs

de Lagrange, la linéarisation des contraintes et l’élimination de variables de manière analytique ou numérique. Nous renvoyons au chapitre 5 pour plus de détail sur ces méthodes.

3.7 Conclusions

Nous avons donné un cadre général des systèmes de reconstruction par ajustement de faisceaux. L’étape du calcul d’une solution initiale a été passée en revue, puis les fonctions de coût associées à la reconstruction de points et de droites ont été examinées en détail. Ces fonctions de coût sont liées à l’erreur de reprojection, qui est une mesure importante de qualité pour la reconstruction obtenue. Les problèmes induits par les libertés de jauge, inhérentes au problème comme le repère de reconstruction, ou dépendantes de la représentation comme les facteurs d’échelle des coordonnées homogènes, ont été examinés. L’étape de paramétrisation a été étudiée en détail, et des critères permettant d’évaluer la qualité d’une paramétrisation ont été proposés. Finalement, des méthodes d’optimisation de moindres carrés non-linéaires – les algorithmes de Gauss-Newton et de Levenberg-Marquardt – ont été passées en revue.

CHAPITRE

4

4

GÉOMÉTRIE DE DEUX CAMÉRAS