Rapport

19

Transcript of Rapport

Page 1: Rapport

Travail pratique N° 2Création d’une image Panoramique

Réalisé par :Ahmed EL ATARI

Mohammed JIDAL

Zakaria Fetouhi

Encadré par :Pr. M.Ait Lakbir

TP - Création d’une image panoram

ique

Page 2: Rapport

1

Page 3: Rapport

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

Page 4: Rapport

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

Page 5: Rapport

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.

Page 6: Rapport

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.

Page 7: Rapport

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

Page 8: Rapport

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 :

Page 9: Rapport

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

Page 10: Rapport

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 :

Page 11: Rapport

10

Figure 3 : Comparative SIFT et SURF

Page 12: Rapport

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

Page 13: Rapport

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

Page 14: Rapport

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

Page 15: Rapport

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

Page 16: Rapport

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.

Page 17: Rapport

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

Page 18: Rapport

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

Page 19: Rapport

Copyright © 2015