• Aucun résultat trouvé

Structure et résolution de équations normales

POINTS ET DE CAMÉRAS

5.4 Le cas de deux vues

5.4.2.2 Structure et résolution de équations normales

Chaque itération de l’ajustement de faisceaux nécessite de résoudre des équations normales, dont la taille est donnée par le nombre de paramètres. Des problèmes de grande taille peuvent être traités si les équations normales possèdent une structure éparse par bloques et si cette structure est prise en compte explicitement dans la résolution. Dans le cas contraire, chaque itération est très coûteuse. Les équations normales sont formées à partir de la matrice Jacobienne J de la fonction de coût et de l’approximation de Gauss-Newton de la matrice Hessienne N = JTJ. Pour plus de détails, on se reportera au chapitre 3, §3.6. Pour comprendre la résolution

éparse par bloques des équations normales, il faut mettre en évidence la structure de N et donc celle de J. La points non contraints

points non contraints caméras

caméras

J N

FIG. 5.7 – Structure des matrices Jacobienne J et Hessienne N = JTJ (approximation de Gauss-Newton) pour

l’ajustement de faisceaux standard. L’exemple montre une configuration avec 2 caméras représentées par la matrice fondamentale et un nuage de 11 points. La matrice Hessienne donne la structure des équations normales résolues à chaque étape de l’ajustement de faisceaux.

figure 5.7 montre la structure des matrices Jacobienne et Hessienne pour l’ajustement de faisceaux standard, avec deux caméras et un nuage de points. La résolution éparse des équations normales est basée sur la structure diagonale par bloques de la partie de la matrice Hessienne concernant les paramètres des points. Cette structure est due au fait que les résidus induits par chaque reprojection ne dépendent que des caméras et du point 3D correspondant. Chaque point a 3 paramètres et nécessite la résolution d’un système (3× 3). Nous renvoyons au

5.5. LE CAS MULTI-VUES 97

plans

points sur 0, 1 et 2 plans plans

points sur 0, 1 et 2 plans caméras caméras J N résidus induits par le point sur 3 plans

FIG. 5.8 – Structure des matrices Jacobienne J et Hessienne N = JTJ (approximation de Gauss-Newton)

pour l’ajustement de faisceaux plan par morceaux proposé. L’exemple montre une configuration avec 2 camé-ras représentées par la matrice fondamentale, 3 plans et un nuage de 11 points, parmi lesquels 2 ne sont pas contraints, 5 sont sur 1 plan, 3 sont sur 2 plans et 1 est sur 3 plans. La matrice Hessienne donne la structure des équations normales résolues à chaque étape de l’ajustement de faisceaux. Notons que le point sur 3 plan n’a pas de paramètres, mais induit une erreur résiduelle, visible sur la matrice Jacobienne uniquement.

Revenons au cas de l’ajustement de faisceaux plan par morceaux. La figure 5.8 montre la structure des ma-trices Hessienne et Jacobienne, lorsque les paramètres sont rangés dans l’ordre caméra, plan et points sur 0, 1 et 2 plans. On observe que notre paramétrisation confère une structure éparse par bloques aux équations normales. Cette structure est légèrement différente de celle obtenue lors de l’ajustement de faisceaux non contraint. Exa-minons la structure de la matrice Jacobienne. La partie liée aux caméras ne change pas. Les plans n’influencent pas les résidus induit par les points non contraints, mais ceux induits par les points sur un plan ou plus. La partie liée aux points est similaire au cas non contraint, à la différence près que le nombre de paramètres pour chaque point dépend du nombre de plans le contenant.

Les équations normales du cas non contraint et plan par morceaux présentent donc quelques différences. Cependant, la résolution éparse est obtenue de la même manière. On identifie le bloque concernant les points du cas non contraint et du cas plan par morceaux, comme indiqué sur la figure 5.9. La résolution standard peut alors être appliquée. Chaque point sur s plans nécessite la résolution d’un système de taille ((3− s) × (3 − s)).

Notons que c’est l’hypothèse qu’un point n’appartienne pas à plus de trois plans qui permet cette résolution éparse. Si un point appartenait à plus de trois plans, il entraînerait des dépendances entre points, ce qui violerait la forme diagonale par bloques dans la figure 5.8.

5.5 Le cas multi-vues

Le cas multi-vues ne peut pas être résolu directement par une paramétrisation minimale basée image, car on ne peut profiter des avantages de la base canonique. Il est possible de trouver une base de reconstruction projective où la première caméra est donnée par P ∼ ( I 0), mais dû aux occultations, les points ne sont

pas forcément visibles dans la vue correspondante. L’équation réduite des plans ne peut plus être utilisée : un plan peut contenir le centre optique de la première caméra tout en étant reconstructible car visible dans d’autres images. Une extension de la solution proposée pour deux vues peut cependant être mise en œuvre en exprimant

V

points sur 0, 1 et 2 plans

W

U

U W

V

caméra + plans points non contraints

caméra

T

T

W

W

Nstd Nppm

FIG. 5.9 – Structure des matrices Hessiennes (approximation de Gauss-Newton) Nstd pour l’ajustement de faisceaux standard et Nppm pour l’ajustement de faisceaux plan par morceaux proposé. En identifiant les 4 bloques comme indiqué ci-dessus, la résolution éparse standard des équations normales peut être appliquée au cas plan par morceaux.

chaque entité dans une base adéquate. Par exemple, si un plan est observé dans la vue i, son équation réduite peut être utilisée dans un repère centré sur la vue i. Trouver le changement de repère peut poser des problèmes pratiques en espace projectif.

Nous adoptons une stratégie différente, basée sur des choix de paramétrisation ne nécessitant pas la sélection d’une vue ou d’une base de reconstruction particulière. Nous étendons les méthodes d’initialisation proposées pour le cas de deux vues. Dans le cas de deux vues, la paramétrisation de la structure est identique pour les phases d’initialisation et d’ajustement de faisceaux. Dans le cas multi-vues, deux paramétrisations différentes sont utilisées.

5.5.1 Initialisation

On propose une extension du cas de deux vues. L’originalité de la méthode est que l’on préserve l’ordre d’initialisation caméras - plans - points contraints, produisant un résultat plus précis que la solution classique caméras - points non contraints - plans - points contraints.

5.5.1.1 Caméras

La reconstruction des caméras et éventuellement des points sans la prise en compte des contraintes de multi-coplanarité peut être effectuée par n’importe quel algorithme standard, éventuellement suivi d’une phase d’ajus-tement de faisceaux. Nous renvoyons au chapitre 3 pour un état de l’art et plus de détails sur cette phase. Le résultat de cette étape est un ensemble de n matrices de projection P1, . . . ,Pn. Comme discuté précédemment, l’expression de ces caméras dans une base projective particulière, telle la base canonique avec P1 ∼ ( I 0),

n’est pas utile. La solution de reconstruction de caméras proposée par Triggs [216], basée sur les contraintes de fermeture, est attirante. Cet algorithme estime les caméras à partir des tenseurs d’appariement multi-vues : la matrice fondamentale, et les tenseurs trifocaux et quadrifocaux, que l’on estime à partir de correspondances de points.

5.5.1.2 Plans

Dans le cas multi-vues, on ne peut plus paramétrer les plans par leurs équations réduites. On les paramétrise par leurs coordonnées homogènes. La difficulté est de trouver un critère linéaire basé sur des quantités image et

5.5. LE CAS MULTI-VUES 99

exploitant toutes les données de manière uniforme. Le choix du critère basé sur le transfert par l’homographie de plan induite, utilisé dans le cas de deux vues, est naturel. Nous proposons une extension de ce critère au cas multi-vues.

Toute observation d’un point sur le plan peut être reconstruite en intersectant le rayon de projection qu’elle induit avec le plan. Le point 3D obtenu peut être reprojeté dans les autres images et comparé aux autres obser-vations (aux correspondances) à l’aide d’une distance 2D. Cette mesure d’erreur est illustrée sur la figure 5.10. Notre critère est la somme des distances 2D induites par toutes les observations de chaque point censé être sur

Π Q P1 P3 q1 q2 q3 ˆ q1 ˆ q3

FIG. 5.10 – Illustration de l’erreur minimisée par la méthode linéaire de reconstruction de plans. Chaque point de chaque vue, iciq2, est reconstruit en intersectant son rayon du vue avec le planΠ recherché. Le point ainsi reconstruit est reprojeté et comparé avec les correspondances dans les autres vues, iciˆq1est comparé avecq1 et ˆq3 avec q3, à l’aide d’une distance 2D. Une distance algébrique bilinéaire induit un algorithme linéaire, et une distance Euclidienne induit un algorithme quasi-linéaire.

le plan. De manière plus formelle, formulons l’opération d’intersection du rayon de projection issu du point imageqij avec le planΠ comme :

Qj ∼ MijΠ,

où Mijest une matrice (4×4) dont l’expression, étudiée plus loin, dépend de qij et de Pi. Notre critère d’erreur est donné par :

CΠ(Π) =  j  i  i=i d2A_P P(qij,PiMijΠ).

Nous réutilisons la notation CΠ pour la fonction de coût car elle se réduit en (5.3), l’erreur de transfert symé-trique minimisée par l’estimation d’une homographie de plan par notre méthode donnée en §5.4.1.2, lorsque deux vues sont considérées. Ce critère est minimisé par la solution au sens des moindres carrés du système linéaire suivant :

où le nombre de lignes t de A est déterminé par le fait que chaque reprojection fournit 2 équations. Si l’on sup-pose par exemple que m points surΠ sont visibles dans toutes les n vues, on obtient t = 2nm(n − 1) (chacun des nm points image induit deux équations pour chaque comparaison avec un de ses n− 1 correspondants). La

matrice A est définie par :

A =  A· · ·iij · · · , i = 1 . . . n, j = 1 . . . m, i = 1 . . . n, i = i,

où la matrice Aiijcorrespond aux équations induites par la reprojection dans la ièmevue du jèmepoint recons-truit à partir de la ième vue. Elle est donnée parAiijΠ2 = d2A_P P(qij,PiMijΠ) = S[qij]PiMijΠ2

(voir le chapitre 2, §2.5.2), d’où :

(Aiij)(2×4) = S[qij]PiMij.

Intersection d’un rayon de projection avec un plan – Formulation de la matrice Mij. Nous montrons que les coordonnées homogènes Q du point d’intersection Q d’un rayon de projection issu d’un point q observé par une caméra dont la matrice de projection est P avec un plan Π s’écrivent de manière linéaire en Π, les coordonnées homogènes deΠ . Nous supposons que le point Q est toujours défini de manière unique, c’est à dire queΠ ne contient pas le centre de projection de la caméra. Les coordonnées homogènes Q sont données par le vecteur nul d’une matrice (3× 4) N modélisant le fait que Q se projette sur q et appartienne à Π :

   S[q]P ΠT      N Q = 0.

Les coefficients du vecteur Q s’expriment comme une forme trilinéaire en les coefficients des trois lignes de la matrice N. Il existe donc une matrice M de taille (4× 4) dépendant de q et de P et telle que :

Q ∼ MΠ

Définissons la notation suivante pour les lignes de la matrice N :

N =   ¯ NT1 N1 ¯ NT2 N2 ¯ ΠT Π   .

En interprétant chaque ligne de N comme l’équation d’un plan, on utilise l’équation (2.53) donnant les coor-données de l’intersection de trois plans, correspondant au noyau de N, ce qui conduit à :

Q =    Π( ¯N1∧ ¯N2) + N1( ¯N2∧ ¯Π) + N2( ¯Π∧ ¯N1) −( ¯N1, ¯N2, ¯Π)     ,

que l’on réorganise pour obtenir l’expression de M :

M(4×4) =     N1[ ¯N2]+ N2[ ¯N1] ¯ N1∧ ¯N2 − ¯NT1[ ¯N2] 0     .

Cette matrice n’est autre que la matrice de Plücker duale de la droite de vue du point imageq, voir le chapitre 2, §2.12 ou, par exemple [93, §2.2.2]. Elle affecte à un plan de coordonnées Π, les coordonnées Q∼ MΠ de

5.5. LE CAS MULTI-VUES 101

5.5.1.3 Points non contraints – Triangulation

Les plans étant reconstruits, le but est d’obtenir une reconstruction de points satisfaisant les contraintes de multi-coplanarité. La méthode de triangulation optimale de Hartley et Sturm [85] ne s’étend pas du cas de deux vues vers le cas multi-vues, voir la thèse de Sturm [195, §4.5.5]. Généralisons le critère d’erreur algébrique employé dans le cas de deux vues :

CQ(Q) = 

id2

A_P P(qi,PiQ) = AQ2. (5.14)

Ce critère est minimisé par la résolution au sens des moindres carrés du système linéaire suivant :

AQ = 0 avec A ∼  S[q· · ·i]Pi · · · . (5.15)

Comme précédemment, une résolution quasi-linéaire basée sur le schéma exposé en §2.6.2, chapitre 2, minimise l’erreur de reprojection, ce qui est optimal.

5.5.1.4 Points sur un plan – Triangulation contrainte par coplanarité

Une solution classique à ce problème est de reconstruire les points en ignorant les contraintes géométriques puis de corriger leur position 3D. Cette solution n’est applicable en espace projectif, où la notion de projection orthogonale n’existe pas, qu’en recourant à un critère de correction basé image. Nous proposons une

triangula-tion contrainte par coplanarité. Notre solutriangula-tion est basée sur une méthode d’optimisatriangula-tion linéaire sous contrainte

linéaire, voir la section 2.6.4.2 du chapitre 2. L’idée est d’exprimer les coordonnées homogènes deQ dans un espace de dimension 3 où la contrainte de coplanarité ΠTQ = 0 est satisfaite, l’espace nul de ΠT. Une base orthonormale de cet espace est donnée par la décomposition en valeurs singulières suivante :

ΠT ∼ uTdiag(1, 0, 0, 0)(v(4×1) V¯(4×3))T

En effet, ΠTV = 0. Nous exprimons les coordonnées de Q dans cet espace par le vecteur γ de taille (3 × 1) :¯

Q = ¯Vγ. Remplaçons cette paramétrisation dans l’expression de la fonction de coût (5.14) :

CQ = AQ2 = A¯Vγ2.

Le vecteur singulier associé à la plus petite valeur singulière de la matrice A¯V donne le vecteur γ minimisant le

critère d’erreur (5.14), sous la contrainteγ2 = 1. Notons que comme ¯V est orthonormale, Q2=¯Vγ2=

γ2 = 1. Une résolution quasi-linéaire permet de minimiser l’erreur de reprojection.

5.5.1.5 Points sur deux plans – Triangulation contrainte par double coplanarité

Nous proposons une triangulation contrainte par double coplanarité. Notre solution est basée sur la même idée que pour le cas précédent. Nous calculons une base orthonormale d’un espace de dimension 2 où les deux contraintes de coplanarité sont satisfaites par la décomposition en valeurs singulières suivante :

 ΠT ΠT  ∼ U(2×4)diag(1, α, 0, 0)(v(4×1) v (4×1)(4×2))T.

Comme dans le cas précédent, remplaçons la paramétrisation minimale Q∼ ¯Vγ, où γ est un vecteur (2 × 1)

dans l’expression de la fonction de coût (5.14). On arrive alors à un système linéaire homogène de taille (4×2).

Une résolution quasi-linéaire permet de minimiser l’erreur de reprojection.

5.5.1.6 Points sur trois plans – Intersection de trois plans

Un point sur trois plans n’a aucun degré de liberté car il est déterminé par l’intersection des trois plans. L’équation (2.53) donne les coordonnées de l’intersection de trois plans en position générale. On renvoie au même cas traité pour deux vues en §5.4.1.6 pour plus de détails.

5.5.1.7 Autres cas – Points observés dans moins de deux vues

Ces cas sont traités en détails dans le cas de deux vues. Les solutions dans le cas multi-vues sont identiques. On renvoie à la section 5.4.1.7 pour plus de détails.

5.5.2 Ajustement de faisceaux plan par morceaux

La section 5.3.2 décrit les différents systèmes d’ajustement de faisceaux prenant en compte les contraintes de multi-coplanarité. Les quelques approches théoriquement optimales font appel à des techniques d’optisation non-linéaire coûteuses et compliquées. Nous proposons une méthode basée sur une paramétrid’optisation mi-nimale de la structure, incorporant les contraintes de multi-coplanarité. La minimisation de l’erreur de repro-jection peut alors être effectuée sans contrainte non-linéaire, par un algorithme d’optimisation non-linéaire standard. Pour la paramétrisation des caméras, nous renvoyons à la section 3.5.5 du chapitre 3.

Contrairement au cas de deux vues où la même paramétrisation de la structure est utilisée lors de l’initiali-sation et de l’ajustement de faisceaux, on utilise une paramétril’initiali-sation différente pour chacune de ces phases dans le cas multi-vues. En effet, lors de l’initialisation, les points sont reconstruits après les plans. Les contraintes de coplanarité du style ΠTQ = 0 sont linéaires en Q. Lors de l’ajustement de faisceaux, les points et les plans sont estimés simultanément. Les contraintes sont donc bilinéaires.

La méthode proposée est une forme de généralisation de la méthode spécifique au cas de deux vues. Elle est moins directe car l’utilisation d’une base de reconstruction canonique ne permet pas de simplifier le problème. Notre paramétrisation est basée sur l’élimination de coefficients des coordonnées homogènes représentants les points sous contraintes de multi-coplanarité. Pour illustrer la difficulté, nous considérons le cas d’un point 2D q sur une droite 2D l , similaire au cas d’un point 3D sur un plan. La contrainte s’exprime algébriquement par qTl = 0. Elle est satisfaite par tout point dont les coordonnées homogènes sont dans l’espace nul bidimension-nel de lT. L’approche qui vient à l’idée naturellement est de calculer une base de cet espace nul et d’exprimer les coordonnées du pointq dans cette base, comme dans le cas de l’initialisation. Nous examinons deux manières de former une telle base et montrons qu’elles ne sont pas appropriées pour notre problème.

La première solution est donnée en formant la matrice anti-symétrique (3× 3) [l] associée au produit vectoriel par le vecteur l. Les colonnes de cette matrices forment une base de l’espace nul recherché car lT[l] = 0T. Le rang de cette matrice est 2, ce qui correspond au fait que l’espace nul recherché est de dimension 2. Les coordonnées de tout point surl peuvent donc être représentées par une combinaison linéaire des 3 colonnes de

[l], ce qui implique donc 3 coefficients formant un vecteur de coordonnées homogènes. Cette paramétrisation n’est pas consistante car un point sur une droite n’a qu’un degré de liberté. On peut alors penser à n’utiliser que deux colonnes de [l] comme base de l’espace nul, par exemple les deux dernières, l2et l3. Dans ce cas, la représentation est consistante, mais n’est plus complète : le point de coordonnées l1 est sur la droitel mais ne peut pas être représenté par une combinaison linéaire de l2 et l3. Notons qu’il y a d’autres possibilités de base “triviales” pour l’espace nul de lT. Elles conduisent toutes au même problème.

La deuxième solution est de calculer une base orthonormale de cet espace nul en utilisant par exemple la décomposition en valeurs singulières suivante :

lT ∼ lTdiag(1, 0, 0)

l(3×1) V¯(3×2)

.

Dans ce cas, la base donnée par les deux colonnes de ¯V est minimale et la paramétrisation correspondante

serait consistante et complète. Le problème est qu’il n’existe pas d’expression analytique simple donnant les coefficient de la matrice ¯V en termes des coefficients de l. Ceci entraînerait que la différenciation analytique de

la fonction de paramétrisation prendrait une forme compliquée, voir le travail de Papadopoulo et Lourakis [158]. De plus, cette base devrait être recalculée à chaque étape de la minimisation. L’utilisation d’une décomposition en valeurs singulières n’est pas raisonnable car elle possède des singularités, plus précisément des ambiguïtés discrètes, pouvant conduire à de gros changements numériques de ¯V pour de petits changements de l.

La consistance et la différenciation analytique sont parmi les principales raisons des paramétrisations spé-cifiques proposées ci-dessous.

5.5. LE CAS MULTI-VUES 103

5.5.2.1 Plans

Tous les plans modélisés ont 3 degrés de liberté, car les contraintes de multi-coplanarité ne s’exercent que sur les points, grâce à l’hypothèse qu’un point est sur 3 plans au maximum. Un vecteur homogène de taille

(4× 1) constitue donc une représentation consistante d’un plan. Notons que l’équation réduite utilisée dans le

cas de deux vues n’est plus utilisable. En effet, l’équation réduite n’existe que pour les plans ne contenant pas le centre de projection de la caméra de référence (de la caméra dont la matrice de projection est ( I 0)). Or, dans le cas multi-vues, il est possible qu’un plan soit reconstructible et contienne ce centre de projection.