Rapport - Création d'une image panoramique

511 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
511
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Rapport - Création d'une image panoramique

  1. 1. TravailpratiqueN°2 Créationd’uneimage Panoramique Réalisépar: AhmedELATARI MohammedJIDAL ZakariaFetouhi Encadrépar: Pr.M.AitLakbir TP-Créationd’uneimagepanoramique
  2. 2. 1
  3. 3. 2 Table de matières Table de matières ..............................................................................................................................2 Table de Figures .................................................................................................................................3 Introduction ........................................................................................................................................4 Aspect théorique et méthodologie................................................................................................5 I. Définition et applications......................................................................................................5 II. Méthodes de résolution .......................................................................................................5 1. Principes ...........................................................................................................................5 2. Calcul de transformation ..............................................................................................6 3. La détection des points d’intérêts ..............................................................................8 Réalisation du travail...................................................................................................................... 11 I. Présentation de l’interface ................................................................................................ 11 II. Le Choix d’image.................................................................................................................. 11 III. Les Informations d’image............................................................................................... 12 IV. Choix d’exercices ............................................................................................................. 12 Simulation et Résultat.................................................................................................................... 13 I. Version 1................................................................................................................................ 13 II. Version 2................................................................................................................................ 14 Conclusion........................................................................................................................................ 15 Webographie ................................................................................................................................... 16 Annexe............................................................................................................................................... 17
  4. 4. 3 Table de Figures Figure 1 : Image Panoramique ............................................................................................ 6 Figure 2 : L’equation Du Deplacement ................................................................................ 6 Figure 3 : Comparative Sift Et Surf..................................................................................... 10 Figure 4 : Interface Generale ............................................................................................. 11 Figure 5: Choix D'image..................................................................................................... 11 Figure 6 : Affichage Des Images......................................................................................... 12 Figure 7 : Le Choix D'exercice............................................................................................ 12 Figure 8 : Selection Des Points Homologue....................................................................... 13 Figure 9 : Algorithme De Harris......................................................................................... 14
  5. 5. 4 Introduction Ce travail s’inscrit dans le cadre des travaux pratiques du module de traitement des images. Ce TP a pour objectif principal de pouvoir créer une image panoramique à partir de plusieurs images ayant des parties communes. Notre projet a consisté à développer ce programme. Le développement du programme s’est ensuite divisé en deux grandes parties. Dans un premier temps nous avons calculé et afficher l’image en se basant sur l’œil pour détecter des points homologue (des points appartenant à la zone de recouvrement entre les deux images de départ). Dans une deuxième version du programme, nous avons dû implémenter une recherche de points d’intérêts dans les deux images pour orienter l’utilisateur dans le choix des points à utiliser dans les calculs. Nous avons utilisé ici le détecteur de Harris. Puis, il a fallu mettre en correspondance ces points d’intérêts entre deux images successives. Nous avons utilisé une transformation affine qui exprime le déplacement et les changements à faire appliquer sur une image pour la représenter dans le repère de l’autre image, Pour le cas de non conservation des longueurs et angles, nous avons recherché l’homographie (transformation projective) liant les images entre elles. Enfin, nous avons implémenté la création de l’image panoramique finale. Nous verrons dans une première partie une petite introduction présentant les objectifs et l’aspect théorique du travail, Après on va découvert la démarche que nous avons mis en œuvre pour réaliser ce projet . Dans une seconde partie, nous verrons quelques résultats fournis par le programme. Mots clés : image panoramique, points d’intérêts, matrice de déplacement, homographie, détecteur de Harris.
  6. 6. 5 Aspect théorique et méthodologie I. Définition et applications Une image dite mosaïque résulte de la combinaison de plusieurs images « recouvrantes » Représentant chacune une partie d‘une même scène. Une telle représentation est plus compacte que l'ensemble des images originales, tout en conservant la majeure partie de l’information portée par celles-ci. Elle trouve, en pratique sa place dans un grand nombre d’applications :  En codage et compression, le stockage et la transmission peuvent être réalisés ou Moyen d’une image mosaïque accompagnée de paramètres indiquant la position de Chaque image originale.  En télédétection, plusieurs vues satellitaires ou aériennes doivent être recalées et fusionnées pour former une carte couvrante d’une région.  En indexation multimédia, une séquence vidéo peut être efficacement résumée à une image unique.  En réalité virtuelle, un panorama peut être codé sous la forme d'une image mosaïque. II. Méthodes de résolution 1. Principes La création d’image panoramique à partir de plusieurs images est composée de plusieurs étapes , Pour permettre une meilleure compréhension, nous avons décidé d’expliquer ces différentes méthodes avec seulement deux images I1 et I2. On voudrait projeter toutes les images sur le même plan.
  7. 7. 6 Pour des raisons pratiques il faut Choisir comme plan de projection le plan contenant l’image du milieu. Mais dans notre cas, ça ne pose aucun problème du fait que nous travaillons juste sur deux images. 2. Calcul de transformation La transformation est caractérisée par une matrice 3x3 qui exprime le déplacement, comportant donc 9 coefficients. Elle permet la transformation des points suivant l'équation suivante : Nous cherchons donc à obtenir cette matrice de transformation, à partir d'un certain nombre de correspondances P -> P' entre les points dans la première image et l’image à déformer. Dans « la version 1 » de notre programme on s’est servi des deux matrices de rotation et de translation pour réaliser l’image panoramique, tout en désolant les deux systèmes suivants. Figure 1 : Image Panoramique Figure 2 : L’équation du déplacement
  8. 8. 7 Calcul d’homographie Dans le cas où les longueurs et les angles liées aux parties communes ne sont pas conservées, on doit appliquer une transformation projective c’est L’homographie. Une telle transformation ne conserve ni les longueurs, ni les angles et peut s’écrire sous forme matricielle: Sont les coordonnées homogènes des pixels de l’image de d´épart et de l’image déformée. Pour déformer une image, il suffit donc d’appliquer une homographie `a tous ses pixels. Une homographie est une matrice 3 × 3 et possède donc 9 éléments indépendants. Cette matrice est utilisée en coordonnées homogènes, elle est donc invariante par changement d’échelle et on peut alors la multiplier par une constante réelle non nulle sans changer ses effets sur une image. Pour trouver la matrice d’homographie il faut résoudre le système suivant :
  9. 9. 8 C’est ce système qu’il faut résoudre et une fois H trouve, on n’a plus qu’à faire et l’appliquer sur l’image à déformer et la projeter dans le plan de l’image fixe. 3. La détection des points d’intérêts Intérêts de la détection Lorsque On souhaite créer une image panoramique à partir de deux images, la première étape consiste à extraire des points caractéristiques dans chaque image img1 et Img2. Par la suite, ces points seront associés deux à deux et permettront le raccordement des deux images. Pour pouvoir être associés, il faut que les points détectés dans la zone de recouvrement entre les images soient les mêmes. Détecteur de Harris Nous avons décidé d’utiliser le détecteur de Harris qui est très utilisé en imagerie. L’idée de base de ce détecteur est d’utiliser la fonction d’autocorrélation pour déterminer les positions où le signal change dans deux directions simultanément. En calculant les dérivées premières des points de l’image convolutée avec une
  10. 10. 9 gaussienne d’écart-type σ, on construit une matrice M liée à cette fonction d’autocorrélation en chaque point de l’image. Dans l’expression ci-dessus, « G(σ’) * » représente une convolution avec une gaussienne d’écart type σ’. Les valeurs propres de M sont les courbures principales de la fonction d’autocorrélation . Deux valeurs suffisamment grandes indiquent la présence d’un point d’intérêt. Pour ne pas avoir à calculer ces valeurs propres, on utilise une mesure R faisant intervenir le déterminant et la trace de la matrice SIFT ET SURF Le descripteur SIFT est le plus couramment utilisé pour l’extraction de points clés. Ce qui a fait le succès de ce descripteur, c’est qu’il est peu sensible au changement d’intensité, de mise à l’échelle et de rotation, ce qui fait de lui un descripteur très robuste. Il est basé sur les différences de gaussiennes. Un peu plus récemment (2006 et 2008), une variante appelé SURF est apparue. Le principal avantage de cette technique est que l’extraction des points d’intérêts se fait plus rapidement, notamment grâce à l’utilisation d’images intégrales. Les points d’intérêt ne sont pas extraits exactement de la même manière que SIFT et ne sont pas non plus caractérisé de la même manière. Une étude comparative met en évidence les avantages et inconvénient de SIFT, PCA- SIFT et SURF grâce au tableau suivant :
  11. 11. 10 Figure 3 : Comparative SIFT et SURF
  12. 12. 11 Réalisation du travail I. Présentation de l’interface L’application est composée d’une seule interface générale (voir Figure 1) qui contient 3 parties : II. Le Choix d’image Cette partie de l’application nous permet de choisir une image pour effectuer la discrimination de texture (voir Figure 2). Figure 4 : Interface Générale Figure 5: Choix d'image
  13. 13. 12 III.Les Informations d’image Cette partie nous permet d’avoir une idée sur l’image sur laquelle on souhaite faire le traitement (voir Figure 3).Ainsi, elle nous affiche l’image de base et l’image résultante avec ces histogrammes. IV.Choix d’exercices Cette partie nous donne la possibilité de choisir l’exercice 1 ou 2. En Outre, elle nous visualise la zone sélectionnée (voir Figure 5). Note : Il faut choisir l’exercice avant de charger l’image pour assurer le bon fonctionnement de l’application. Figure 7 : Le Choix d'exercice Figure 6 : Affichage des images
  14. 14. 13 Simulation et Résultat I. Version 1 Dans cette partie, le programme donne la main à l’utilisateur pour choisir des points qui appartient des 2 images puis il affiche l’image résultante. Figure 8 : Sélection des Points homologue
  15. 15. 14 II. Version 2 Par contre de la 1ére partie, cette fois ci le programme propose à l’utilisateur un ensemble de points d’intérêt et c’est à l’utilisateur de choisir les plus précis Figure 9 : Algorithme de Harris
  16. 16. 15 Conclusion Ce Travail été pédagogique car il nous a permis d’appréhender les principes de la réalisation des images panoramiques à bases des images successives ayant des zones communs. Ce projet a été aussi intéressant, car nous ne nous sommes pas contentés d’implémenter un algorithme. Nous avons dû étudier les différentes étapes du projet dans le détail, les comprendre, et prendre des décisions sur certains points pour atteindre notre objectif. Notre travail a atteint un objectif satisfaisant, même si quelques-uns de ces objectifs n’ont pas été atteints. Ainsi, nous pouvons visualiser correctement une image panoramique en utilisant soit l’aspect visuel pour le choix des points de calcul ou l’algorithme de Harris qui facilite cette tâche pour l’utilisateur en lui indiquant des points d’intérêts. Après La réalisation de ce travail, nous pouvons dire que la création des images panoramiques revient à Trouver des points remarquables dans les deux images en utilisant par exemple l’algorithme de SIFT et Faire correspondre les points deux à deux (l’Algorithme du RANSAC) et la dernière étape est la déformation homographique des images. Durant l’élaboration de ce travail nous avons rencontré certaines difficultés qui se sont manifesté dans les calculs de transformations mathématiques entre l’image source et l’image qui a subit la déformation.
  17. 17. 16 Webographie  Matlab Documentation http://www.mathworks.com/help  Image stitching using matlab. http://www.ijettjournal.org/volume-4/issue-3/IJETT-V4I3P215.pdf  HARRIS - Harris corner detector http://web.engr.illinois.edu/~slazebni/spring14/harris.m
  18. 18. 17 Annexe L’algorithme de Harris : function [x,y] = harris(imrgb) im = im2double(rgb2gray(imrgb)); g1 = fspecial('gaussian', 9,1); % Gaussian avec sigma_d g2 = fspecial('gaussian', 11,1.5); % Gaussian avec sigma_i img1 = conv2(im,g1,'same'); % blur image avec sigma_d Ix = conv2(img1,[-1 0 1],'same'); % dérivé de x Iy = conv2(img1,[-1;0;1],'same'); % dérivé de y % Calculs des élements de Harris matrice H Ix2 = conv2(Ix.*Ix,g2,'same'); Iy2 = conv2(Iy.*Iy,g2,'same'); IxIy = conv2(Ix.*Iy,g2,'same'); R = (Ix2.*Iy2 - IxIy.*IxIy) ... % det(H) ./ (Ix2 + Iy2 + eps); % trace(H) + epsilon %exclusion des angles proches de bordure de l'image R([1:15, end-16:end], :) = 0; R(:,[1:15,end-16:end]) = 0; nonmax = inline('max(x)'); Rmax = colfilt(R,[3 3],'sliding',nonmax); % find max voisins Rnm = R.*(R == Rmax); % supress non-max % extraction des points intéressants [y,x,] = find(Rnm); end
  19. 19. Copyright©2015

×