• Aucun résultat trouvé

Minimisation de l’information mutuelle n´ egative

4.2 Algorithme de recalage multimodal

4.2.3 Minimisation de l’information mutuelle n´ egative

Estimer la transformation T revient en pratique `a estimer les param`etres d’un mod`ele de d´eformation qui engendre cette transformation.

En imagerie m´edicale, le mod`ele affine est un mod`ele de d´eformation courant et beaucoup s’int´eressent ´egalement au mod`ele ´elastique. C’est pourquoi nous consid´erons dans cette ´etude ces deux mod`eles de d´eformation. Pour une ´echelle donn´ee, les param`etres du mod`ele de d´eformation sont mis `a jour en calculant leur variation `a l’it´eration n. Nous expliquons maintenant comment cette variation est calcul´ee `a partir de N M I (I1, T (I2)) pour chacun de ces deux mod`eles.

4.2.3.1 Minimisation de la NMI pour le mod`ele affine

Le mod`ele affine se d´efinit par une matrice M, compos´ee de six param`etres :

M =     m11 m12 0 m21 m22 0 m31 m32 1     . (4.4)

Comme nous l’avons exprim´e dans l’´equation (2.39), chaque composante mij, i, j = {1, 2}, est

une combinaison de rotation d’angle θ, de facteur d’´echelle scx1 et scx2 et de cisaillement shx1 et

shx2. m31 et m32 repr´esentent quant `a eux les translations dans les directions lat´erale et axiale.

La correspondance entre ces types de transformations et les ´el´ements mij de la matrice M est la

suivante :

m11= scx2cos(θ), m12= shx1sin(θ),

m21= shx2sin(θ), m22= scx1cos(θ),

m31= tx2, m32= tx1.

(4.5) L’algorithme par descente de gradient est it´eratif, ce qui signifie que l’on va faire varier pro- gressivement les param`etres M jusqu’`a atteindre la valeur minimale de la fonction de coˆut, qui est la NMI. Initialement, aucune transformation n’est appliqu´ee `a l’image flottante : M0 ´equivaut `a la

matrice identit´e. La mise `a jour des param`etres de d´eformation se fait donc `a l’it´eration n ≥ 0 selon la relation suivante :

Mn+1X = MnX − γf

0

n(MnX) , (4.6)

o`u X est une matrice N × 3 contenant les coordonn´ees homog`enes des N pixels de l’image, γ est le pas initial d’optimisation (que nous avons fix´e `a 1) et fn0 (MnX) = ∇(N M I)nrepr´esente les d´eriv´es

spatiales de la mesure `a l’it´eration n aux coordonn´ees MnX. Ainsi, il est possible de calculer δMn

par moindres carr´es :

δMn= X · XT

−1

4.2.3.2 Minimisation de la NMI pour le mod`ele B-spline

En ce qui concerne le mod`ele ´elastique, les param`etres de d´eformation que l’on manipule sont les positions des points de contrˆole du maillage. Contrairement au mod`ele affine, pour qui tous les param`etres s’appliquaient `a l’image enti`ere, un point de contrˆole n’a une influence que sur les pixels qui constituent son voisinage. Un exemple d’effet obtenu est illustr´e par la figure 4.3.

Figure 4.3 – Exemple de d´eformation ´elastique pour une translation lat´erale des points de contrˆole situ´es au centre de l’image.

Pour g´en´erer cette d´eformation, les points de contrˆole situ´es sur la ligne centrale du maillage ont subi un d´eplacement de 64 pixels vers la droite. On remarque que seuls les pixels situ´es autour de cette ligne dans l’image ont subi un d´ecalage. Plus le pixel est ´eloign´e du point de contrˆole, moins celui-ci subira l’influence du d´eplacement de ce point de contrˆole. C’est pourquoi on raisonnera en termes depatches. La transformation T (x) d’un pixel `a la position x est calcul´ee en fonction des

positions des points de contrˆole voisins du maillage. Cette transformation est donn´ee par l’´equation :

T (x) = 3 X l=0 3 X m=0 Bl(υ − bυc) Bm(ν − bνc) Pki+l,j+m, (4.8)

o`u Pk est une matrice de taille NP C × 2 contenant les positions des points de contrˆole du patch

k, avec NP C ´etant le nombre de points de contrˆoles dans ce patch. Pki,j est la position du point de

contrˆole `a la ligne i et `a la colonne j du patch k. υ = x1/δx1, ν = x2/δx2, avec δxi la distance entre

deux points de contrˆole dans la direction xi. υ est la position du pixel au sein du patch. i = bυc − 1,

j = bνc − 1 et l’op´erateur b•c est la partie enti`ere de •. Finalement, Bl repr´esente la le fonction de

B0(υ) = (1 − υ)3/6,

B1(υ) = 3υ3− 6υ2+ 4 /6,

B2(υ) = −3υ3+ 3υ2+ 3υ + 1 /6,

B3(υ) = υ3/6.

(4.9)

Pour le mod`ele B-spline, la variation des param`etres de d´eformation est repr´esent´ee par le d´ecalage des points de contrˆole. Pour obtenir le d´ecalage de tous les pixels d’un patch, on intro- duit la matrice F, qui est une matrice Npx× NP C contenant les coefficients des polynˆomes B-spline

des NP C points de contrˆole pour les Npxpixels d’un patch. Pour le ke patch, les positions de chaque

pixel `a l’it´eration n, not´ees Xkn, peuvent ainsi s’´ecrire sous la forme matricielle suivante :

Xkn= FPkn, k = 1, ..., Npatch, (4.10)

o`u Npatch est le nombre de patches. Le but ´etant de trouver les positions de chaque pixels qui

minimisent la fonction de coˆut, la relation entre les param`etres d’une it´eration `a l’autre s’exprime donc comme :

FPn+1= FPn− γf

0

n(FPn) . (4.11)

Si l’on se contentait uniquement des informations offertes par les points de contrˆole d’un patch, les positions des points de contrˆole au bord de ce patch ne seraient pas correctement estim´ees. Ils subissent en effet l’influence des points de contrˆoles appartenant aux patches voisins. Pour conserver la coh´erence de la d´eformation dans l’image enti`ere, une solution consiste `a cumuler l’influence d’un point de contrˆole pour tous les patches de l’image. `A l’instar du mod`ele affine, il est possible d’exprimer l’´equation (4.11) en fonction de l’information mutuelle normalis´ee :

δPn=

X

patches

F · FT−1· FT · ∇N M I. (4.12) L’optimisation se termine si la variation de la fonction de coˆut est inf´erieure `a un certain seuil ou si l’algorithme a d´epass´e un certain nombre d’it´erations.