# Recalage d'images

En traitement d'image, le recalage est une technique qui consiste en la « mise en correspondance d'images », dans le but de comparer ou combiner leurs informations respectives. Cette méthode repose sur les mêmes principes physique et le même type de modélisation mathématique que la corrélation d'images.
Cette mise en correspondance se fait par la recherche d'une transformation géométrique permettant de passer d'une image à une autre. Cette technique comprend de nombreuses applications, allant de l'imagerie médicale, afin par exemple de fusionner plusieurs modalités d'imagerie, au traitement de vidéos, comme le suivi de mouvement et la compression, ou à la création de mosaïques d'images (panoramas).
Les images à recaler peuvent provenir d'une même source (ex. : scanner, caméra) ou être « multi-sources » (ex. : images satellitales, aériennes et carte d'un même territoire).

## Principe de l'algorithme

Soient deux images données,
$I_{F}(\mathbf {x} )$ l'image fixe
et $I_{M}(\mathbf {x} )$ l'image déformable
où $\mathbf {x}$ est une position dans le domaine de l'image $\Omega _{F}$ et $\Omega _{M}$.
L'objectif est de trouver la transformation $\mathbf {\mathit {T}} :\Omega _{F}\to \Omega _{M}$
qui permet de minimiser l'écart entre deux images après la transformation:
${\mathcal {C}}(\mathbf {\mathit {T}} ;I_{F},I_{M})$.
La métrique ${\mathcal {C}}$ s'appelle le critère de similarité dans le paragraphe suivant.
Ce critère peut être par exemple la distance au carré des deux images: $\int _{\Omega _{F}}[I_{F}(\mathbf {x} )-I_{M}(\mathbf {\mathit {T}} (\mathbf {x} ))]^{2}d\mathbf {x}$.
Et la minimisation se fait par un algorithme d'optimisation.

## Classification des méthodes

Les méthodes de recalage peuvent être classifiées selon quatre critères principaux :
* les attributs : sur quel type d'information se fonde le recalage ?
* le critère de similarité : comment estimer l'appariement entre les points des images ?
* le modèle de transformation : comment sont alignés les points d'une image à l'autre ?
* la stratégie d'optimisation : comment converger vers une solution rapidement ?

### Les attributs de l'image

Pour estimer la transformation, on peut utiliser l'intensité ou des primitives géométriques.

#### Approche géométrique

Ces méthodes furent parmi les premières à être proposées de par leur similitude avec la méthode utilisée par un être humain pour mettre en correspondance deux images. Elles se fondent en effet sur l'extraction à partir de chacune des images de primitives géométriques (points saillants, coins, contours...). Par la suite, ces primitives sont appariées afin de déterminer la transformation entre les deux images. Cette approche est intéressante car ces primitives sont faciles à manipuler et elles permettent d'être indépendante des modalités. Cependant, extraire ces attributs n'est pas toujours aisé.

#### Approche iconique

Cette classe de méthodes se fonde essentiellement sur l'utilisation des intensités des deux images via l'utilisation d'une mesure de similarité, sans prendre en compte l'information géométrique. Cette approche peut également s'appuyer sur une information dérivée des caractéristiques différentielles de l'image ou sur une transformée de Fourier. Cependant, dans le cas du recalage multimodal ou monomodal inter-patients, la relation entre l'intensité des images n'est pas toujours triviale à calculer. De plus, on n'extrait pas un sous-ensemble d'attributs, et par conséquent le nombre de données à traiter est élevé (l'entièreté de l'image).

#### Approche hybride

Cette approche tente de tirer parti des deux approches sus-citées.

### Critère de similarité

La mesure de similarité entre les images dépend des attributs considérés.

#### Information fondée sur les attributs géométriques

C'est une information, comme des points (landmarks, coordonnées), des lignes ou des surfaces, qu'il faut mettre en correspondance. L'opération consiste à minimiser les distances entre les attributs homologues.

#### Information fondée sur l'intensité

De nombreuses mesures de similarité ont été développées à ce jour, supposant chacune une relation différente entre les intensités lorsque les images sont recalées. Parmi elles, les plus utilisées sont notamment :
* la SSD (sum of square differences, somme des différences au carré) qui suppose que les intensités des deux images sont les mêmes ;
* des mesures issues de la théorie de l'information comme le coefficient de corrélation qui suppose une relation affine entre les intensités ;
* l'information mutuelle fondé sur des relations statistiques. Cette mesure est idéale pour le recalage non rigide car l'appariement entre attributs homologues est indépendant de leur position géométrique.

### Modèles de transformation
#### Transformation linéaire

La transformation géométrique recherchée peut tout d'abord être linéaire, c'est-à-dire pouvant s'écrire sous la forme d'un polynôme de degré 1. Cette classe comprend notamment les transformations rigides (rotation, translation), les similitudes, les transformations affines et les transformations projectives.
Pour des raisons pratiques, ce type de transformation est par ailleurs souvent représenté sous une forme matricielle. On parle alors de représentation en coordonnées homogènes.
Par exemple, les transformations linéaires ne comportant que des translations ou des rotations sur les axes sont des recalage dit rigide. Ils sont notamment utilisés en imagerie médicale pour le recalage d'image intra-sujet et intra-modalité mais ayant été acquis à des dates différentes.

#### Transformation non linéaire

La transformation peut également être non linéaire. Elle est alors d'ordre supérieur par exemple les thin-plate splines, les combinaisons de B-Splines, etc. Dans la littérature de traitement d'images, ces transformations peuvent également être nommées élastiques, déformables ou encore non rigides.
Il existe deux approches pour modéliser la transformation non rigide : l'approche paramétrique et l'approche non paramétrique.

##### Approches non paramétriques
###### Méthodes différentielles

* Modèles fluides ou élastiques du recalage
* Flux optique
* Algorithme Demons 0, 1 et 2 (Thirion)
* Algorithme Demons difféomorphique
* Algorithme de calculs rapides des mises à jour du champ de correspondances
* Algorithme efficient Demons difféomorphique

###### Méthodes statistiques

* Approche bayésienne (ou markovienne)

### Stratégie d'optimisation

Les méthodes d'optimisation constituent le lien entre le critère de ressemblance et la transformation optimisée, utilisant les informations issues du ou des critères choisies afin de déduire la transformation entre les images. De ce fait, ces algorithmes dépendent de la transformation optimisée et du critère.
Les méthodes géométriques produisent souvent un ensemble d'appariements entre divers points des images. Dans ce cas, et si la transformation recherchée le permet, un algorithme dit des moindres carrés, ainsi que ses variantes robustes, peut être utilisé afin d'obtenir la transformation optimale.
Les critères iconiques sont quant à eux souvent optimisés via des méthodes de descente de gradient en fonction des paramètres de la transformation ou, lorsque le gradient ne peut être calculé, la méthode de Powell peut être utilisée afin d'optimiser la transformation.
On distingue quatre grandes stratégies d'optimisation:

#### Les méthodes non déterministes
## Applications

Le recalage est utilisé en imagerie médicale où ses applications sont nombreuses. Il permet notamment de fusionner plusieurs images d'un même patient, ceci par exemple afin de pouvoir exploiter les informations fournies dans différentes modalités comme l' imagerie scanner, l'imagerie par résonance magnétique, l'échographie ou l'échographie doppler, l'imagerie Tomographie à émission de positron (TEP), la scintigraphie, l'imagerie infrarouge... Mais il peut également être utilisé pour l'étude de l'évolution au cours du temps d'un patient. Le recalage est dit monomodal lorsque deux images de la même modalité sont recalées. Lorsque deux images de modalités différentes sont recalées, on parle alors de recalage multimodal.
En traitement d'imagerie médicale, il y a beaucoup d'applications cliniques et de recherches au recalage d'images. Les quatre grands domaines de recherches sont:
* Le recalage inter-patients : pour mettre en correspondance les informations entre plusieurs patients. Cela permet de créer des modèles anatomiques ou fonctionnels de référence, ou même des atlas (sur base de la segmentation) ;
* Le recalage intra-patient monomodal : pour suivre l'évolution d'une lésion et compenser les changements de sa position chez un patient par un seul mode exploratoire ;
* Le recalage intra-patient multimodal : pour mettre en correspondance les informations anatomiques et fonctionnelles (plutôt par recalage rigide ou affine) chez un patient par plusieurs modes exploratoires ;
* Le recalage atlas-données : pour mettre en correspondance des données cliniques avec un atlas de référence.
Le recalage est également très utilisé dans le domaine du traitement de vidéos. Il peut par exemple être utilisé pour la détection de mouvement, le suivi automatique de formes ou d'objets.
D'autres applications dans le domaine du traitement d'images sont notamment reliées au morphing permettant de générer une transition entre deux images. Mais il est également très important en imagerie satellitaire, pour la création de panoramas d'images, etc. Enfin, une application étonnante est la souris optique. La plupart des technologies existantes utilisent en effet un recalage entre les images acquises par la souris afin d'estimer le mouvement de celle-ci.
Dans le domaine de mécanique, il existe aussi la technique du recalage avec le nom corrélation d'images numériques qui permet de mesurer les champs de déplacements entre deux images. Le principe de la méthode reste pareil à celui du recalage mais la corrélation d'images se focalise particulièrement sur la transformation et les déplacements entre images afin d'identifier des propriétés mécaniques des matériaux.
Il existe un outil open source de recalage d'image elastix qui comprend la plupart de fonctionnalités courantes (Plusieurs modèles de transformation, critères de similarité etc.). L'utilisateur peut obtenir les résultats désirés comme image de sortie, champs de déplacements.
Un autre outil d'intérêt pour ses fonctionnalités est le framework open-source et cross-platform de développement d'application Insight Segmentation and Registration Toolkit (ITK) utilisé dans le Visible Human Project. Ce framework, c++ et disposant d'un wrapper java, est utilisé conjointement avec framework open-source et cross-platform de développement d'application Visualization Toolkit (VTK) qui se concentre essentiellement sur la visualisation.