Student Project
Semester Project, June 2001
1. Introduction
Le but de ce projet était de comparer lefficacité et surtout la qualité de différents noyaux dinterpolation et, à cet effet, de créer une applet en Java qui réalise une transformation affine sur une image et qui permette de choisir parmi une large palette de fonctions de synthèse. Tout dabord jai développé un plugin pour ImageJ qui permet de faire les différents tests des méthodes dinterpolations de manière plus aisée quà travers une applet. Les résultats obtenus sont comparés à des études préalables afin de tester leur validité [2]. Les méthodes d'interpolation implémentées sont également comparées pour chaque type de transformation (rotation, homothétie, etc.) [1].
2. La transformation affine
Pour une image quelconque en coordonnées homogènes f(k) = f(x,y,1), on calcule limage résultante de la transformation g(k) de la manière suivante : g(k) = f(Ak), où la matrice de transformation affine à la forme suivante:
3. Expériences
Une fois l'implémentation validée, j'ai comparé en utilisant l'applet toutes les méthodes d'interpolation implantées et ceci pour chaque type de transformations suivantes:
A. Une suite de 3 translations de 12.2 pixels en x et de 9.8 pixels en y.
B. Une suite de 3 rotations de 33.5 degrés (annexe 2).
C. Une suite de 3 zooms d'un facteur de 110%.
D. Une suite de 3 zooms d'un facteur de 90%.
E. Une suite de 3 transformations combinant à chaque fois les trois premières
Comparaison qualité - efficacité : La figure suivante montre le SNR moyen de chaque méthode pour les expériences A à E en fonction du temps dexécution dans mon applet, sans tenir compte des valeurs infinies pour la méthode du plus proche voisin.
4. Conclusions et perspectives
Le but de ce projet étant de créer une applet Java permettant de comparer les différentes méthodes dinterpolation, celui-ci est donc atteint. Bien quil existe beaucoup de noyaux dinterpolation différents, je pense que les méthodes dinterpolation que jai implémentées sont un échantillon représentatif. En ce qui concerne les expériences, la première a validé mon travail. La seconde, où je compare les méthodes entre elles pour différents types de transformations affines, a donné les résultats attendus, à part quelques cas isolés pour lesquels il faudrait peut-être un peu plus creuser. Peut-on conclure après lexpérience D quil vaut mieux utiliser la méthode de Schaum quadratique pour un zoom inférieur à 100%, plutôt que dautres méthodes quadratiques comme celle des o-Moms ? Nous ne pouvons pas laffirmer, un travail supplémentaire sur ce sujet serait nécessaire. Cest aussi le cas des transformations affines aléatoires : la hiérarchie entre les différentes méthodes en termes de qualité est-elle respectée ou non lorsque lon applique une transformation avec des paramètres aléatoires sur une image ? Cette question mériterait quon sy attarde. En résumé, ces expériences ont démontré la supériorité, lors dune transformation affine, de linterpolation avec la méthode de o-Moms cubique sur les autres, sauf pour une translation, où il vaut mieux utiliser linterpolation du plus proche voisin, si la mesure de la qualité par le SNR définit dans ce rapport est efficace pour la comparaison des méthodes dinterpolation.
Je pense que linterface de lapplet est complète. Cependant, il serait possible dy rajouter quelques options, comme un mode rotation, un mode zoom, pour habituer lutilisateur au maniement avant de sattaquer à des transformations plus complexes, comme le mode Custom. Une amélioration appréciable pourrait être un mode dabs lequel lutilisateur a la possibilité dajouter son propre noyau dinterpolation. Pour terminer, une dernière amélioration pourrait être limplémentation des méthodes de Schaum et o-Moms quadratiques sur le même modèle que les autres, afin davoir une meilleure comparaison en terme de temps.
|