• Aucun résultat trouvé

La méthode de recalage par composition inverse

Dans le document The DART-Europe E-theses Portal (Page 111-117)

Chapitre 3 Solution proposée 79

3.5 Seconde méthode proposée

3.5.2 La méthode de recalage par composition inverse

L’approche la plus directe pour recaler deux images consiste en la comparaison des niveaux de gris des pixels homologues des images à recaler. Nous proposons d’utiliser le carré de la différence des niveaux de gris pour mesurer le degré de similarité des images. Cette mesure de similarité est calculée rapidement puisqu’il suffit d’effectuer la soustraction pixel à pixel des images. Étant donné la nature monomodale des images cystoscopiques (les images à recaler sont issues d’un même dispositif) et l’amplitude (plutôt faible) des transformations entre des images consécutives, cette mesure de similarité semble adaptée à notre application. Grâce au pré-traitement que nous appliquons aux images, les niveaux de gris de l’image à recaler sont proportionnels aux niveaux de gris de l’image de référence et avoir un minimum global bien prononcé est possible. Le point de départ fourni par la corrélation dans le domaine fréquentiel permet à l’algorithme de recalage de démarrer plus près de la solution et donc, potentiellement de converger plus rapidement.

Cette section explique la méthode utilisée pour recaler deux images dont le lien géomé-trique est régi par une transformation perspective. Cette méthode nous la présentons aussi dans [Hernández-Mieret al., 2005] et [Hernández-Mier et al., 2006]. La méthode de recalage que nous proposons est basée sur le travail développé par [Baker and Matthews, 2002]. Ils utilisent le carré des différences d’intensité comme mesure de similarité. Cette dernière est minimisée par un al-gorithme d’optimisation de deuxième degré (Gauss-Newton). Cette méthode est utilisée dans le cadre du suivi de visages appliqué à la détection de la fatigue chez le conducteur. Leur méthode est appelée recalage d’images par «composition inverse »(Inverse Compositional Algorithm en anglais). La méthode de recalage de [Baker and Matthews, 2002] s’inspire et améliore, d’un point de vue de la robustesse et de la vitesse, la méthode de [Lucas and Kanade, 1981]. Pour ce faire, cette dernière est modifiée de sorte que certaines étapes, coûteuses en temps de calcul et ré-calculées à chaque itération, ne soient calculées qu’une seule fois et ré-utilisées à chaque itération. Pour expliquer l’algorithme de recalage par composition inverse nous allons rappeler

3.5. Seconde méthode proposée

200 210 220 230 240 250 Paires d'images

Fig. 3.13 – Comparaison des valeurs de translations obtenues par l’algorithme de corrélation dans le domaine fréquentiel (ligne bleue) et celles obtenues par l’algorithme de recalage basé sur l’information mutuelle (ligne rouge) pour des images consécutives de trois séquences cystosco-piques cliniques. Les petites fenêtres à droite sont des grossissements des zones indiquées par les rectangles en trait pointillée. (a) Valeurs de translation pour une séquence de 511 images.

(b) Translations pour une séquence composée de 301 images. (c) Valeurs de translation pour une séquence de 412 images. Dans cette dernière séquence, il peut être observé qu’autour de la paire d’images 50–51 les valeurs obtenues par les deux algorithmes sont très différentes. La différence est due aux valeurs de translation qui sont importantes pour ces paires d’images (taux de recouvrement inférieure à 90% de la taille de l’image).

les algorithmes sur lesquels il est basé. Nous présentons ces méthodes sous forme d’algorithme pour faciliter l’appréciation des améliorations proposées par [Baker and Matthews, 2002]. Les détails des étapes des algorithmes sont développés dans l’annexe A.

3.5.2.1 L’algorithme de recalage de Lucas et Kanade

Cet algorithme a été développé pour déterminer le flot optique entre images d’une séquence dans le cadre d’une application à la vision stéreo. Dans l’article original, l’algorithme de [Lucas and Kanade, 1981] ne prend en compte que les translations. Cet algorithme peut cependant être étendu à d’autres paramètres.

L’algorithme recale une image ID(x) sur une image de référence IR(x), avec x = (x, y)T un vecteur colonne contenant les coordonnées des pixels. La transformation des coordonnées est notée T(x;p). Cette notation signifie que les coordonnées x vont être transformées par une matrice T constituée d’une liste de paramètres p, où p = (p1, . . . pn)T est le vecteur contenant les paramètres de transformation. n = 8 pour une transformation perspective. Cette transfor-mation sera appliquée aux pixels de coordonnées x de l’image ID, c’est-à-dire ID(T(x;p)), en

« bougeant » les pixels de façon itérative jusqu’à obtenir une image la plus similaire possible à l’image de référence. Pour résumer, nous allons minimiser la différence des niveaux de gris des images. Pour ce faire, nous utilisons le carré de la somme de l’erreur des pixels homologues des deux images :

X

x

[ID(T(x;p))−IR(x)]2. (3.20) L’algorithme de [Lucas and Kanade, 1981] considère que les paramètres de transformationp initiaux sont connus et cherche ensuite les incréments qui, ajoutés ou soustraits à ces paramètres, feront que l’imageID devienne de plus en plus similaire à l’image IR :

X

x

[ID(T(x;p+ ∆p))−IR(x)]2. (3.21) Cette fonction coût est minimisée par rapport à∆p et les paramètres de transformation p sont actualisés à chaque itération avec les valeurs de∆p ainsi calculées (voir équation 3.22) jusqu’à la convergence de p vers la solution :

p←p+ ∆p, (3.22)

Généralement, il est admis que l’algorithme a convergé lorsque le module du vecteur∆pest en-dessous d’un seuilǫpré-défini, c’est-à-dire k∆pk ≤ǫ.

Les incréments de ∆p sont obtenus par une optimisation non-linéaire du deuxième ordre (Gauss-Newton). D’abord, la mesure de similarité est linéarisée par un développement en série de Taylor du premier degré deID(T(x;p+ ∆p))dans∆p :

3.5. Seconde méthode proposée étant respectivement, le gradient de l’image défini entièrement par la dérivée de l’image selon~x et~y et la dérivée première des coordonnées transformées par rapport aux paramètres de trans-formation (le Jacobien). Le gradient de l’image peut facilement être estimé par des opérateurs de convolution où par des différences centrales selon chaque axe.

Puisque nous travaillons avec un modèle de transformation en perspective (8 paramètres), les coordonnées transformées sont exprimées comme suit (x et y sont les coordonnées homogènes etwle facteur de normalisation en coordonnées non homogènes) :

Les dérivées partielles par rapport aux paramètres de transformation (voir l’équation 3.25) sont :

∂T

Avec ces équations nous avons les éléments pour minimiser l’équation 3.23. Cette minimisation est un problème de moindres carrés dont la solution peut être obtenue en calculant la dérivée première de la fonction coût (équation 3.23) selon∆p :

2X

En annulant le deuxième terme de cette équation et en isolant ∆p nous avons

∆p=H−1X

H est l’approximation que l’algorithme de Gauss-Newton fait du Hessien (matrice des dérivées secondes) et qui va contrôler les pas effectués par l’algorithme à chaque itération.

En résumé, l’algorithme de Lucas-Kanade applique de façon itérative les équations 3.29 et 3.22 jusqu’à ce que l’estimation des paramètres permette de converger vers la solution. Les étapes suivies par la méthode de Lucas-Kanade sont présentées dans l’algorithme 1.

Étant donné que les paramètres p varient à chaque itération, le gradient de l’image ∇ID et la transformationT(x;p) doivent être ré-calculées à chaque itération.

3.5.2.2 L’algorithme de recalage par composition

Un désavantage de l’algorithme de Lucas et Kanade est lié à son efficacité en terme de temps de calcul. [Shum and Szeliski, 1997] ont proposé une alternative qui est moins coûteuse en calculs.

En effet, ils proposent de minimiser par rapport à∆pla fonction coût de l’équation 3.31 plutôt que de minimiser la fonction coût de l’équation 3.20.

X

x

[ID(T(T(x; ∆p);p))−IR(x)]2, (3.31)

Algorithme 1 L’algorithme de Lucas-Kanade Faire :

1 : Transformation deID avec T(x;p) pour calculerID(T(x;p)) 2 : Calcul de l’image erreur[IR(x)−ID(T(x;p))]

3 : Transformation du gradient∇ID avec T(x;p)

4 : Évaluation du Jacobien ∂T∂p avec les paramètres (x;p) 5 : Calcul du produit ∇ID∂T∂p

6 : Calcul de la matrice Hessienne en utilisant l’équation 3.30 7 : Calcul deP

8 : Calcul de∆p en utilisant l’équation 3.29 9 : Mise à jour des paramètresp←p+ ∆p Tant que : k∆pk ≤ǫ

Au lieu d’ajouter des incréments aux paramètres de la transformation (voir équation 3.22), la transformation T est mise-à-jour à chaque itération comme suit :

T(x;p)←T(x;p)◦T(x; ∆p), (3.32)

Le mot compositional ou « par composition » est utilisé par [Baker and Matthews, 2002] pour illustrer le fait que l’expression dans l’équation 3.32 est composée de deux transformations. Le symbole ◦ représente un produit matriciel :

T(x;p)◦T(x; ∆p)≡T(T(x; ∆p);p). (3.33) Cela veut dire que nous allons appliquer une transformation aux coordonnées x avec les para-mètres∆ppour ensuite appliquer une nouvelle transformation de paramètrespaux coordonnées déjà transformées. Le résultat sera une composition de 2 transformations.

Pour minimiser l’équation 3.31, il faut la linéariser avec un développement en série de Taylor au premier ordre, pour aboutir à l’équation 3.34.

X

T(x;0) est la transformation initiale appliquée à ID. Il existe deux différences entre l’équation 3.23 et son équivalentepar composition (équation 3.34). La première est que le gradient deID(x) (qui est transformé après avec T(x;p)) est remplacé par le gradient deID(T(x;p))(le gradient est calculé sur l’image déjà transformée). La deuxième est que le Jacobien ∂T∂p est évalué pour les paramètres (x;p)(qui changent à chaque itération) dans l’équation 3.23, mais il est évalué dans (x;0)dans l’équation 3.34. Ces différences font que le Jacobien devient constant et qu’il peut être calculé au départ et ré-utilisé à chaque itération. En considérant ces différences, il est possible de construire un algorithme de recalage plus rapide. Un résumé de l’algorithme de recalage par composition est donné dans l’algorithme 2.

3.5.2.3 Recalage par composition inverse

[Baker and Matthews, 2002] ont observé que l’étape la plus coûteuse en temps de calcul est la détermination à chaque itération de la matrice des dérivées secondes (le Hessien). Ils proposent de faire plusieurs modifications de l’algorithme de recalage par composition (tout en restant

3.5. Seconde méthode proposée Algorithme 2L’algorithme de recalage par composition (Shum-Szeliski)

Calcul avant :

4 : Évaluation du Jacobien ∂T∂p avec les paramètres(x;0) Faire :

1 : Transformation deID avec T(x;p) pour calculer ID(T(x;p)) 2 : Calcul de l’image erreur [IR(x)−ID(T(x;p))]

3 : Calcul du gradient∇ID(T) de l’image ID(T(x;p)) 5 : Calcul du produit ∇ID(T)∂T∂p

6 : Calcul de la matrice Hessienne en utilisant l’équation 3.30 7 : Calcul de P

x

h

∇ID(T)∂T∂piT

[IR(x)−ID(T(x;p))]

8 : Calcul de ∆pen utilisant l’équation 3.29

9 : Mise à jour des paramètres par T(x;p)← T(x;p)◦T(x; ∆p) Tant que :k∆pk ≤ǫ

équivalent à l’algorithme original en termes de robustesse et précision) pour avoir le Hessien constant ré-utilisable à chaque itération.

Les auteurs ont montré qu’en inversant le rôle des images de référence IR et à transformer ID, il est possible de diminuer les temps de calcul. Pour ce faire, ils proposent de minimiser l’expression

X

x

[IR(T(x; ∆p))−ID(T(x;p))]2, (3.35) par rapport à∆p, pour ensuite mettre à jour la transformation comme suit :

T(x;p)←T(x;p)◦T(x; ∆p)−1. (3.36) La seule différence avec l’algorithme par composition est que pour la mise à jour de la transfor-mation, il faut effectuer l’inversion de la matrice de transformation T(x; ∆p) avant d’effectuer la multiplication combinaison avec l’estimation actuelle de la transformation T(x;p).

Pour minimiser l’équation 3.35, il faut effectuer un développement en séries de Taylor du premier ordre :

En considérant à nouveau que T(x;0) est une matrice identité, la solution à ce problème de moindres carrés est : oùH est la matrice Hessienne dans laquelle ID est remplacée parIR :

H=X

Les démonstrations de l’équivalence entre les trois algorithmes sont présentées dans [Baker and Matthews, 2002]. Nous avons vérifié de façon expérimentale que les trois algorithmes donnent des résultats très similaires en termes de précision. Nous avons pu vérifier que la méthode proposée par [Baker and Matthews, 2002] est effectivement plus rapide tout en étant robuste et précise.

C’est pour cette raison que la méthode de recalage par composition inverse est la méthode que nous utilisons pour notre algorithme de mosaïquage d’images cystoscopiques.

Algorithme 3 L’algorithme de recalage par composition inverse (Baker-Matthews) Calcul avant :

3 : Évaluation du gradient ∇IR de l’image de référenceIR 4 : Évaluation du Jacobien ∂T∂p avec les paramètres (x;0) 5 : Calcul du produit ∇IR(T)∂T∂p

6 : Calcul de la matrice Hessienne en utilisant l’équation 3.39 Faire :

8 : Calcul de∆p en utilisant l’équation 3.38

9 : Mise à jour des paramètres parT(x;p)←T(x;p)◦T(x; ∆p)−1 Tant que : k∆pk ≤ǫ

Dans le document The DART-Europe E-theses Portal (Page 111-117)