• Aucun résultat trouvé

Superposer deux triplets de points en repere - -barycentrique

Quaternions et rotation au moindres carres

A.3 Superposer deux triplets de points en repere - -barycentrique

@ 0 (yi;xi)t (yi;xi) (~yi+ ~xi) 1 C A AtiAi= 0 B @ kyi;xik 2 (yi;xi)t(~yi+ ~xi) (~yi+ ~xi)(xi;yi) (yi;xi)(yi;xi)t;(~yi+ ~xi)2 1 C A

En developpant les termes et en simpliant gr^ace a la formule de Gibbs1 on obtient AtiAi = 0 B @ kyi;xik 2 2(yi^xi)t 2(yi^xi) kyi+xik 2I;2(xiyti+yixti) 1 C A

Ce qui permet d'ecrire la matriceB avec les notations  = P(kxik 2+kyik 2) =P< xijyi >  =Pxi^yi ; =P(xiyti+yixti) B = 0 B @ ;2 ;2t ;2 ( + 2 )I ;2; 1 C A (A:1)

Rappelons que le probl eme est de minimiser C = qtBq sous la contrainte jqj = 1. La solution est donnee par le vecteur propre unitaire associe a la plus petite valeur propre deB. Si cette resolution s'eectue fort bien numeriquement, il n'y a pas actuellement de solution explicite de fa con formelle.

A.3 Superposer deux triplets de points en repere

-barycentrique

On consid ere trois points xi en rep ere barycentrique, donc appartenant a un certain planM deni par son vecteur normal m = (x1^x2)=kx1^x2

k, et leurs correspondants yi, egalement en rep ere barycentrique, appartenant au plan S deni par s = (y1^y2)=ky1^y2

k. 1~a~b = bat;< ajb > I

Supposons que les plans MetS soient confondus (les xi et lesyi sont coplanaires), avec une orientation identique : m = s. Nous allons trouver explicitement la rotation minimisant l'erreur de superposition. L'analogie avec le cas 2D permet de proposer deux quaternions rotation que l'on veriera ^etre vecteurs propres deB. Des considerations de symetrie permet-tront ensuite de determiner les autres valeurs propres de B qui s'avereront ^etre superieures a la premi ere. Ceci permettra de conclure notre demonstration.

A.3.1 2



3 points en deux dimensions

Le crit ere a minimiser pour la recherche de la rotation vectorielle est : C =X

i

kyi;Rxik

2 avec R = cos ;sin sin cos

!

Pour obtenir les angles optimaux, on deriveC par rapport a  @C @ = 0 , sin(X i < xijyi >)+ cos(X i jyixij ) = 0 d'o u les solutions

8 < : cosq(P< xijyi >)2 + (P jyixij)2 = P< xijyi > sinq(P< xijyi >)2+ (P jyixij)2 =P jyixij

Supposons maintenant que les 6 points soient dans l'espace, mais coplanaires. La rotation proposee en 2D est de direction normale au plan. En appelant k le vecteur normal au plan dans le sens direct, on propose donc comme rotation ( a la norme pr es) les quaternions

q1 =

 1 + cos

sin:k et q2 =

 1;cos sin:k ce qui s'ecrit avec nos notations

q12 =  q 2+kk 2  

A.3.2 Deux vecteurs propres de

B

Verions tout d'abord q1 : (B ;I)q1 = 0 , 8 < : (;2 ;)(q 2+kk 2+ ) = 2kk 2 (;2q 2 +kk 2 ;) = 2;

Or  =Pxi^yi est colineaire a m = s donc orthogonal aux xi et aux yi, ce qui montre que ; = 0. On obtient donc

(B ;1I)q1= 0 , 1 =;2q 2+kk 2 54

En ce qui concerne q2, la demarche est identique et on a

(B ;2I)q2 = 0 , 2 = + 2q 2+kk 2

Donc q1 et q2 sont des vecteurs propres de B associes aux valeurs propres 1 et 2. Nous allons maintenant exprimer ces valeurs propres de fa con dierente.

 2+kk 2 = (P i <xijyi >)2 +< P ixi^ yij P ixi^ yi> =Pij <xijyi ><xjjyj >+Pij <xijxj ><yijyj >; P ij <xijyj ><xjjyi> =P ij <xi^ xjjyi^ yj >+P ij <xijxj ><yijyj >

Notonsr le second terme . On remarquera qu'il ne depend que des positions relatives des xi

entre eux et des yi entre eux. Il ne change donc pas lors d'une rotation : c'est une constante du probl eme, tout comme . Le premier terme se simplie beaucoup en introduisant les valeurs dex3 et y3 en rep ere barycentrique :x3 =;x1

;x2 ety3 =;y1 ;y2. On obtient 2+kk 2 =r + 6 < x1^x2 jy1^y2 > =r + 6kx1^x2 k:ky1^y2 k< mjs >

L'hypoth esem = s n'etant pas intervenue dans la derivation de cette expression, celle-ci est donc toujours valable.

2 +kk

2=r + 6kx1^x2

k:ky1^y2

k< mjs > avec r = X

ij < xijxj >< yijyj > (A:2) Introduisant cette expression dans nos valeurs propres, on trouve une formule qui ne depend plus de la position initiale des xi par rapport aux yi.

12 = 2qr + 6kx1^x2

k:ky1^y2 k

A.3.3 Les deux autres valeurs propres

Notons maintenant 1 et 2 les deux valeurs propres non nulles de ; en supposant qu'elles existent, et n1n2 les vecteurs propres unitaires associes. Ces derniers sont dans M = S d'apr es la formulation m^eme de ;. On verie aisement que q34 = 

 0 n34

est alors vecteur propre de B associe a la valeur propre 34 = + 2 ; 34.

Orq3 etq4 correspondent a des rotations de autour d'un axe situe dans le plan M=S" ce sont donc des symetries par rapport a des droites pour ce plan. En particulier, elles am enent m sur ;s. On peut donc retrouver les valeurs propres 3 et 4 en considerant les rotations d'axem (ou s) dans le cas m =;s. Le raisonnement utilise pour trouver 1 et2 dans leur premi ere forme ne tenant compte que de  == m == s, on trouve

34 =2q 2+kk 2

ce qui s'ecrit en tenant maintenant compte de < mjs >=;1 dans l'expression A.2 34 = 2qr;6kx1^x2

k:ky1^y2 k 55

A.3.4 Conclusion

Quelque soit la position initiale des xi par rapport aux yi, on peut toujours decomposer la rotation rechercheeA, minimisant l'erreur de superposition aux moindres carres, en une rotation A1 qui am ene le vecteur m sur s, puis une rotation A2 qui se situe dans le cadre de ce que nous venons de faire. Les valeurs propres etant ecrites sous forme invariante par rotation des xi, elles sont valables dans tous les cas.

Theoreme 1

Les valeurs propres de la matrice B sont

1 =;2qr + 6kx1^x2 k:ky1^y2 k 2 = + 2qr + 6kx1^x2 k:ky1^y2 k 3 =;2qr;6kx1^x2 k:ky1^y2 k 4 = + 2qr;6kx1^x2 k:ky1^y2 k

avec les notations

 =P3

i=1(kxik+kyik) r = P33

i=1j=1 < xijxj >< yijyj >

L'ordre de ces racine est 1

3 4

2. La valeur du critere au minimum est donc 1,

et le quaternion recherche est le vecteur propre unitaire associe a cette valeur propre.

Les rotations amenant m sur s s'ecrivent comme combinaison lineaire ( a la norme pr es) des deux rotations de base

p1 =

 1+< mjs >

m^s p2 =  0

m + s

Il y a toutefois une singularite en m =;s, que nous avons exploitee precedemment, et pour laquelle ceci n'est pas valable. Il sut dans ce cas d'une rotation de par rapport a n'importe quel vecteur du plan.

En dehors de cette singularite, la rotation d'angle le plus faible est donnee par p1. NotonsR1 la rotation equivalente, etx0

i =R1xi. La rotation R2 amenant au minimum est alors donnee par q1 =  q 02+k0 k 2 + 0 0 avec 0 =P3 i=1 < x0 ijyi > 0=P3 i=1x0 i^yi

Corollaire 1

On peut toujours decomposer la rotation recherchee R en R = R2R1 ou R1

est une rotation amenant m sur s, et R2 est une rotation d'axe s.

Annexe B

Exemples de recalage en imagerie

Documents relatifs