SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
TravailpratiqueN°2
Créationd’uneimage
Panoramique
Réalisépar:
AhmedELATARI
MohammedJIDAL
ZakariaFetouhi
Encadrépar:
Pr.M.AitLakbir
TP-Créationd’uneimagepanoramique
1
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
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
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.
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.
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
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 :
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
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 :
10
Figure 3 : Comparative SIFT et SURF
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
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
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
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
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.
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
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
Copyright©2015

Contenu connexe

En vedette

Rapport - Télédétection et Ilots de chaleur urbains
Rapport - Télédétection et Ilots de chaleur urbains Rapport - Télédétection et Ilots de chaleur urbains
Rapport - Télédétection et Ilots de chaleur urbains Ahmed EL ATARI
 
Partie 1 - Assainissement sur AutoCad 2007 et 2004
Partie 1  -  Assainissement sur AutoCad 2007 et 2004Partie 1  -  Assainissement sur AutoCad 2007 et 2004
Partie 1 - Assainissement sur AutoCad 2007 et 2004Ahmed EL ATARI
 
Télédétection et les Ilots de chaleur urbains
Télédétection et les Ilots de chaleur urbainsTélédétection et les Ilots de chaleur urbains
Télédétection et les Ilots de chaleur urbainsAhmed EL ATARI
 
Applications de La Télédétection en océanographie
Applications de  La Télédétection en océanographieApplications de  La Télédétection en océanographie
Applications de La Télédétection en océanographieAhmed EL ATARI
 
EST Essaouira (Spring Coding Day) 2014 - Problème 2
EST Essaouira (Spring Coding Day) 2014 - Problème 2EST Essaouira (Spring Coding Day) 2014 - Problème 2
EST Essaouira (Spring Coding Day) 2014 - Problème 2Ahmed EL ATARI
 
Diagramme de VORONOÏ et Triangulation Delaunay
Diagramme de VORONOÏ et Triangulation Delaunay  Diagramme de VORONOÏ et Triangulation Delaunay
Diagramme de VORONOÏ et Triangulation Delaunay Ahmed EL ATARI
 
Analyse de Donnée { ACP } sous XLSTAT
Analyse de Donnée { ACP } sous XLSTAT Analyse de Donnée { ACP } sous XLSTAT
Analyse de Donnée { ACP } sous XLSTAT Ahmed EL ATARI
 
Partie 2 - Assainissement sur AutoCad 2007 et 2004
Partie 2  -  Assainissement sur AutoCad 2007 et 2004Partie 2  -  Assainissement sur AutoCad 2007 et 2004
Partie 2 - Assainissement sur AutoCad 2007 et 2004Ahmed EL ATARI
 
C teledetection
C teledetectionC teledetection
C teledetectionEssam Ssam
 
Applications De La télédétection à l'océanographie
Applications De La télédétection à l'océanographieApplications De La télédétection à l'océanographie
Applications De La télédétection à l'océanographieAhmed EL ATARI
 
EST Essaouira (Spring Coding Day) 2014 - Problème 1
EST Essaouira (Spring Coding Day) 2014 - Problème 1EST Essaouira (Spring Coding Day) 2014 - Problème 1
EST Essaouira (Spring Coding Day) 2014 - Problème 1Ahmed EL ATARI
 
Guide Touristique de Tanger { App Mobile }
Guide Touristique de Tanger { App Mobile }Guide Touristique de Tanger { App Mobile }
Guide Touristique de Tanger { App Mobile }Ahmed EL ATARI
 
La télédétection : un outil pour le suivi et l’évaluation de la désertificati...
La télédétection : un outil pour le suivi et l’évaluation de la désertificati...La télédétection : un outil pour le suivi et l’évaluation de la désertificati...
La télédétection : un outil pour le suivi et l’évaluation de la désertificati...csfd
 
Jce univers dans_un_verre_d_eau_extrait
Jce univers dans_un_verre_d_eau_extraitJce univers dans_un_verre_d_eau_extrait
Jce univers dans_un_verre_d_eau_extraitSouhila Benkaci
 
Adduction et distribution d’eau
Adduction et distribution d’eauAdduction et distribution d’eau
Adduction et distribution d’eauSouhila Benkaci
 
Cahier des charges des morcellement dzabdou
Cahier des charges des morcellement dzabdouCahier des charges des morcellement dzabdou
Cahier des charges des morcellement dzabdoukadouma abderrezak
 

En vedette (20)

Rapport - Télédétection et Ilots de chaleur urbains
Rapport - Télédétection et Ilots de chaleur urbains Rapport - Télédétection et Ilots de chaleur urbains
Rapport - Télédétection et Ilots de chaleur urbains
 
Partie 1 - Assainissement sur AutoCad 2007 et 2004
Partie 1  -  Assainissement sur AutoCad 2007 et 2004Partie 1  -  Assainissement sur AutoCad 2007 et 2004
Partie 1 - Assainissement sur AutoCad 2007 et 2004
 
Télédétection et les Ilots de chaleur urbains
Télédétection et les Ilots de chaleur urbainsTélédétection et les Ilots de chaleur urbains
Télédétection et les Ilots de chaleur urbains
 
Applications de La Télédétection en océanographie
Applications de  La Télédétection en océanographieApplications de  La Télédétection en océanographie
Applications de La Télédétection en océanographie
 
EST Essaouira (Spring Coding Day) 2014 - Problème 2
EST Essaouira (Spring Coding Day) 2014 - Problème 2EST Essaouira (Spring Coding Day) 2014 - Problème 2
EST Essaouira (Spring Coding Day) 2014 - Problème 2
 
Diagramme de VORONOÏ et Triangulation Delaunay
Diagramme de VORONOÏ et Triangulation Delaunay  Diagramme de VORONOÏ et Triangulation Delaunay
Diagramme de VORONOÏ et Triangulation Delaunay
 
Compte rendu -
Compte rendu -  Compte rendu -
Compte rendu -
 
Analyse de Donnée { ACP } sous XLSTAT
Analyse de Donnée { ACP } sous XLSTAT Analyse de Donnée { ACP } sous XLSTAT
Analyse de Donnée { ACP } sous XLSTAT
 
Partie 2 - Assainissement sur AutoCad 2007 et 2004
Partie 2  -  Assainissement sur AutoCad 2007 et 2004Partie 2  -  Assainissement sur AutoCad 2007 et 2004
Partie 2 - Assainissement sur AutoCad 2007 et 2004
 
C teledetection
C teledetectionC teledetection
C teledetection
 
Applications De La télédétection à l'océanographie
Applications De La télédétection à l'océanographieApplications De La télédétection à l'océanographie
Applications De La télédétection à l'océanographie
 
EST Essaouira (Spring Coding Day) 2014 - Problème 1
EST Essaouira (Spring Coding Day) 2014 - Problème 1EST Essaouira (Spring Coding Day) 2014 - Problème 1
EST Essaouira (Spring Coding Day) 2014 - Problème 1
 
Guide Touristique de Tanger { App Mobile }
Guide Touristique de Tanger { App Mobile }Guide Touristique de Tanger { App Mobile }
Guide Touristique de Tanger { App Mobile }
 
La télédétection : un outil pour le suivi et l’évaluation de la désertificati...
La télédétection : un outil pour le suivi et l’évaluation de la désertificati...La télédétection : un outil pour le suivi et l’évaluation de la désertificati...
La télédétection : un outil pour le suivi et l’évaluation de la désertificati...
 
Jce univers dans_un_verre_d_eau_extrait
Jce univers dans_un_verre_d_eau_extraitJce univers dans_un_verre_d_eau_extrait
Jce univers dans_un_verre_d_eau_extrait
 
Adduction et distribution d’eau
Adduction et distribution d’eauAdduction et distribution d’eau
Adduction et distribution d’eau
 
أفكار من ذهب
أفكار من ذهبأفكار من ذهب
أفكار من ذهب
 
Teste d'homogeniete
Teste d'homogeniete Teste d'homogeniete
Teste d'homogeniete
 
Quifaitquoi
QuifaitquoiQuifaitquoi
Quifaitquoi
 
Cahier des charges des morcellement dzabdou
Cahier des charges des morcellement dzabdouCahier des charges des morcellement dzabdou
Cahier des charges des morcellement dzabdou
 

Similaire à Rapport - Création d'une image panoramique

Traitement d'image sous Matlab
Traitement d'image sous Matlab  Traitement d'image sous Matlab
Traitement d'image sous Matlab Hajer Dahech
 
OpenCR__Rapport_soutenance_Finale
OpenCR__Rapport_soutenance_FinaleOpenCR__Rapport_soutenance_Finale
OpenCR__Rapport_soutenance_FinaleChady Dimachkie
 
Une solution de vérification de visage basée sur l’extraction
Une solution de vérification de visage basée sur l’extractionUne solution de vérification de visage basée sur l’extraction
Une solution de vérification de visage basée sur l’extractionKhalifa Bakkar
 
Real time human pose recognition in parts from single
Real time human pose recognition in parts from singleReal time human pose recognition in parts from single
Real time human pose recognition in parts from singleMontassir Rabhi
 
Etude du dimensionnement du divergent RL10-B2
Etude du dimensionnement du divergent RL10-B2Etude du dimensionnement du divergent RL10-B2
Etude du dimensionnement du divergent RL10-B2Daniel de Santiago Casado
 
cours-gratuit.com--CoursMatlab-id4508 (1).pdf
cours-gratuit.com--CoursMatlab-id4508 (1).pdfcours-gratuit.com--CoursMatlab-id4508 (1).pdf
cours-gratuit.com--CoursMatlab-id4508 (1).pdfNarjiss Hach
 
Visualisation graphique R avec ggplot2
Visualisation graphique R avec ggplot2Visualisation graphique R avec ggplot2
Visualisation graphique R avec ggplot2Daname KOLANI
 
Tutoriel : créer un paysage pour Stellarium
Tutoriel : créer un paysage pour StellariumTutoriel : créer un paysage pour Stellarium
Tutoriel : créer un paysage pour StellariumDidier Walliang
 
Td2 decrypted
Td2 decryptedTd2 decrypted
Td2 decryptedMed Mmed
 
Analyse spatiale – Interpolation par Krigeage
Analyse spatiale – Interpolation par Krigeage Analyse spatiale – Interpolation par Krigeage
Analyse spatiale – Interpolation par Krigeage Abdessadek ELASRI
 
Introduction à l’infographie
Introduction à l’infographieIntroduction à l’infographie
Introduction à l’infographieWiki Info Systeme
 
Manipulation de nuages_de_points LIDAR
Manipulation de nuages_de_points LIDARManipulation de nuages_de_points LIDAR
Manipulation de nuages_de_points LIDARMahdi Smida ✔
 

Similaire à Rapport - Création d'une image panoramique (20)

Projet vision
Projet visionProjet vision
Projet vision
 
Traitement d'image sous Matlab
Traitement d'image sous Matlab  Traitement d'image sous Matlab
Traitement d'image sous Matlab
 
Graphes
GraphesGraphes
Graphes
 
OpenCR__Rapport_soutenance_Finale
OpenCR__Rapport_soutenance_FinaleOpenCR__Rapport_soutenance_Finale
OpenCR__Rapport_soutenance_Finale
 
Rapportfinal2x
Rapportfinal2xRapportfinal2x
Rapportfinal2x
 
Formation traitement d_images
Formation traitement d_imagesFormation traitement d_images
Formation traitement d_images
 
Une solution de vérification de visage basée sur l’extraction
Une solution de vérification de visage basée sur l’extractionUne solution de vérification de visage basée sur l’extraction
Une solution de vérification de visage basée sur l’extraction
 
Resume
ResumeResume
Resume
 
Real time human pose recognition in parts from single
Real time human pose recognition in parts from singleReal time human pose recognition in parts from single
Real time human pose recognition in parts from single
 
ségmentation d'image
ségmentation d'imageségmentation d'image
ségmentation d'image
 
Etude du dimensionnement du divergent RL10-B2
Etude du dimensionnement du divergent RL10-B2Etude du dimensionnement du divergent RL10-B2
Etude du dimensionnement du divergent RL10-B2
 
cours-gratuit.com--CoursMatlab-id4508 (1).pdf
cours-gratuit.com--CoursMatlab-id4508 (1).pdfcours-gratuit.com--CoursMatlab-id4508 (1).pdf
cours-gratuit.com--CoursMatlab-id4508 (1).pdf
 
Rapport
RapportRapport
Rapport
 
Tutorial GGPlot2
Tutorial GGPlot2Tutorial GGPlot2
Tutorial GGPlot2
 
Visualisation graphique R avec ggplot2
Visualisation graphique R avec ggplot2Visualisation graphique R avec ggplot2
Visualisation graphique R avec ggplot2
 
Tutoriel : créer un paysage pour Stellarium
Tutoriel : créer un paysage pour StellariumTutoriel : créer un paysage pour Stellarium
Tutoriel : créer un paysage pour Stellarium
 
Td2 decrypted
Td2 decryptedTd2 decrypted
Td2 decrypted
 
Analyse spatiale – Interpolation par Krigeage
Analyse spatiale – Interpolation par Krigeage Analyse spatiale – Interpolation par Krigeage
Analyse spatiale – Interpolation par Krigeage
 
Introduction à l’infographie
Introduction à l’infographieIntroduction à l’infographie
Introduction à l’infographie
 
Manipulation de nuages_de_points LIDAR
Manipulation de nuages_de_points LIDARManipulation de nuages_de_points LIDAR
Manipulation de nuages_de_points LIDAR
 

Rapport - Création d'une image panoramique

  • 2. 1
  • 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. 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. 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. 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. 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. 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. 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. 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. 10 Figure 3 : Comparative SIFT et SURF
  • 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. 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. 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. 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. 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. 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. 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