SlideShare une entreprise Scribd logo
Table des mati`eres
1 D´etection et Reconnaissance d’Objets 8
1.1 Vision par ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Un peu d’histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 D´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Probl´ematique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Repr´esentation d’images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.1 M´ethodes de repr´esentation globales . . . . . . . . . . . . . . . . . . 13
1.5.2 M´ethodes de repr´esentation locales . . . . . . . . . . . . . . . . . . . 13
1.6 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6.1 k plus proches voisins . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6.2 Arbres de d´ecision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6.3 Machines `a vecteurs de support . . . . . . . . . . . . . . . . . . . . . 15
1.6.4 Mod`eles graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.5 Les mod`eles `a variables latentes d’aspect . . . . . . . . . . . . . . . . 16
1.6.6 R´eseaux de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6.7 Boosting : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7 ´Etat de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 Conception 26
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Approche 1 : 1-Chebychev . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.1 La segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2 Repr´esentation de l’image . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.3 Reconnaissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3 Approche Couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.1 Repr´esentation des objets . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.2 Construction du mod`ele . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.3 Appariement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3.4 Localisation des objets . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3.5 Localisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.6 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
1
3 Impl´ementation 55
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.2 Environnement mat´eriel . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3 Pr´esentation de la base d’apprentissage . . . . . . . . . . . . . . . . . . . . 57
3.3.1 Base de donn´ees COIL-100 . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.2 Base de donn´ees ETH-80 . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.3 Acquisition des deux bases . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4 Pr´esentation de l’interface graphique . . . . . . . . . . . . . . . . . . . . . . 59
3.4.1 Premi`ere Approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4.2 Deuxi`eme approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.4.3 Troisi`eme approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5 Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.5.1 Choix de la fonction du noyau . . . . . . . . . . . . . . . . . . . . . . 68
3.5.2 Principe de l’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . 70
3.6 Exp´erimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.6.1 Matrice de confusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.6.2 Fonction d’efficacit´e du r´ecepteur ROC . . . . . . . . . . . . . . . . . 74
3.6.3 Taux de la reconnaissance des deux bases . . . . . . . . . . . . . . . . 75
3.6.4 Rappel et pr´ecision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Bibliographie 87
2
Table des figures
1.1 Exemple d’Objets sp´ecifiques. Gauche : Carl Gauss. Droite : le Taj Mahal. . 9
1.2 Exemple de cat´egories d’objets. . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Gauche :Exemple de variabilit´e intra-classe de la cat´egorie chaise. Droite : Cet
objet `a l’apparence ´etrange est une chaise de par sa fonction. . . . . . . . . . 11
1.4 Gauche : Exemple d’occlusion. Droite : Exemple de changement de point de
vue et rotation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Reconnaissance bas´e mod`eles . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 A gauche la classification, est simple quel que soit le nombre de voisins.A
droite, revanche tout d´epend du nombre de voisin l’affectation `a une classe est
pond´er´ee par la distance, plus un voisin est ´eloign´e, plus son influence est faible. 14
1.7 Exemple de classification avec arbre de d´ecision. . . . . . . . . . . . . . . . . 15
1.8 Exemple de classification avec AdaBoost. . . . . . . . . . . . . . . . . . . . . 18
1.9 a) L.G.Roberts. b) Sc`ene de blocks. c) Fronti`eres extraites `a l’aide du gradient.
d) Description polyhedral de la sc`ene. e) Sc`ene 3D avec changement de point
de vue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.10 Repr´esentation des objets par les cylindres g´en´eralis´es. a) Thomas Binford.
b)Image de la gamme d’une poup´ee. c) Cylindres g´en´eralis´es obtenues. . . . 20
1.11 Graphe d’aspects. Deux vues d’un objet, les diff´erentes projections forment un
graphe d’adjacence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.12 Repr´esentation des objets `a l’aide des geons. . . . . . . . . . . . . . . . . . . 21
1.13 Mod`ele utilis´e par Fischler et Elschlager pour mod´eliser le visage Figure pro-
venant de [1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1 Syst`eme de reconnaissance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 R´esultat de segmentation avec DBscan globale. Gauche : Image originale.
Droite : Image segment´ee labellis´ee. . . . . . . . . . . . . . . . . . . . . . . . 30
2.3 R´esultat de segmentation avec DBscan locale en utilisant les niveaux de gris.
Gauche : Image en niveau de gris. Droite : Image labellis´ee, nous obtenons une
sur-segmentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4 Gauche : Image convertit dans l’´eespace HSV. Droite :R´esultat de segmenta-
tion avec DBscan locale en utilisant la Teinte. . . . . . . . . . . . . . . . . . 32
2.5 Gauche : Rsultat de segmentation avec DBscan locale en utilisant le Teinte.
Droite : Localisation des objets. . . . . . . . . . . . . . . . . . . . . . . . . . 32
3
2.6 Gauche : Image convertit dans l’espace HSV. Milieu :R´esultat de segmentation
avec DBscan locale en utilisant la Teinte. Droite :R´esultat de segmentation
l’objet n’est pas d´etect´e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7 Organigramme de la m´ethode. . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.8 Repr´esentation des minimums et maximums locaux sur l’histogramme. . . . 34
2.9 Bas : Extraction des minimums et maximums locaux `a partir de l’histogramme. 35
2.10 Gauche : Image binaris´ee. Droite :Histogramme des niveaux de gris ainsi que
les seuils min et max en rouge. . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.11 Image binaris´ee apr`es ´erosion. . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.12 Image binaris´ee apr`es dilatation puis inversion. . . . . . . . . . . . . . . . . . 37
2.13 Superposition des deux images pr´ec´edentes. . . . . . . . . . . . . . . . . . . 38
2.14 ´Etapes de segmentation d’objets : les r´egions marqu´es en blanc s’´etendent
jusqu’aux fronti`eres des objets. . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.15 R´esultats de la segmentation. -Gauche : fronti`eres des objets. -Milieu :Segmen-
tation des objets. Droite : r´esultat final, extraction des objets. . . . . . . . . 40
2.16 Reconstruction `a diff´erents ordres avec notre calcul des moments ainsi qu’avec
le calcul classique de ceux ci. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.17 L’effet de la rotation sur les descripteurs `a diff´erents ordres. . . . . . . . . . 44
2.18 Influence de l’ordre et la rotation sur le calcul des moments. . . . . . . . . . 46
2.19 R´esultat de segmentation dans une sc`ene r´eelle. Gauche : Image de la sc`ene.
Droite : Image segment´ee, mˆeme si nous arrivons `a extraire les objets du fond,
nous ne pouvons les distinguer. . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.20 Syst`eme de Reconnaissance de la seconde m´ethode. . . . . . . . . . . . . . . 48
2.21 Repr´esentation d’un objet en prenant en compte l’information spatiales de
points d´efinis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.22 calcul des points candidats. . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.23 2 Superposition des deux axes sur les diff´erents centres possibles, une seule
superposition est correcte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.1 Objets de la base de donn´ees Columbia Object Image Library. . . . . . . . . 57
3.2 Objets de la base de donn´ees ETH-80. . . . . . . . . . . . . . . . . . . . . . 58
3.3 Acquisition de la base COIL-100. . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4 Interface d’accueil l’application. . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.5 Choix d’une base de donn´ees. . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6 Choix de l’image de la sc`ene. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7 Affichage de l’image de la sc`ene . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.8 Segmentation de l’image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.9 Reconnaissance d’objets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.10 Interface d’accueil de la deuxi`eme approche . . . . . . . . . . . . . . . . . . . 64
3.11 Apprentissage d’un objet avec la deuxi`eme m´ethode . . . . . . . . . . . . . . 64
3.12 Reconnaissance des objets avec la deuxi`eme m´ethode . . . . . . . . . . . . . 65
3.13 l’interface d’accueil de la troisi`eme approche. . . . . . . . . . . . . . . . . . . 66
3.14 Le choix entre les deux m´ethodes de SURF . . . . . . . . . . . . . . . . . . . 66
3.15 choix de l’image de la sc`ene et de l’objet `a trouver. . . . . . . . . . . . . . . 67
3.16 R´esultat de la d´etection hors ligne. . . . . . . . . . . . . . . . . . . . . . . . 67
4
3.17 R´esultat de la d´etection en ligne. . . . . . . . . . . . . . . . . . . . . . . . . 68
3.18 Comparaison entre les fonctions de noyau. . . . . . . . . . . . . . . . . . . . 69
3.19 Comparaison des m´ethodes : (a) l’image original en RGB ; (b) l’image original
appliqu´e avec Canny ; (c) l’image reconstruite par la m´ethode classique ;(d)
l’image reconstruite par notre m´ethode. . . . . . . . . . . . . . . . . . . . . 71
3.20 Etude comparative sur les temps d’ex´ecution et l’apprentissage. . . . . . . . 72
3.21 Etude comparative sur la pr´ecision de la reconnaissance avec et sans couleur. 73
3.22 Courbe ROC obtenu pour les dix objets. . . . . . . . . . . . . . . . . . . . . 74
3.23 Etude comparative sur la pr´ecision de la reconnaissance avec les diff´erentes
m´ethodes de calcul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.24 Image de sc`ene r´eelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.25 ´etude comparative sur la pr´ecision, le rappel et F-Mesure entre la deuxi`eme et
la troisi`eme m´ethode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.26 ´etude comparative sur le temps de calcule entre la deuxi`eme et la troisi`eme
m´ethode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5
Liste des Algorithmes
1 Algorithme de la premi`ere m´ethode. . . . . . . . . . . . . . . . . . . . . . . . 29
2 Proc´edure de Clusterisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 Algorithme de la deuxi`eme m´ethode. . . . . . . . . . . . . . . . . . . . . . . . 31
4 Algorithme de Binarisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5 Algorithme d’extraction de seuils pour la Binarisation. . . . . . . . . . . . . . 36
6 Algorithme de Segmentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7 Algorithme de la rotation 1-Chebychev. . . . . . . . . . . . . . . . . . . . . . 45
8 Algorithme de la premi`ere m´ethode. . . . . . . . . . . . . . . . . . . . . . . . 49
9 Algorithme de Matching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6
Introduction
La vision par ordinateur est une branche de l’intelligence artificielle qui se concentre sur
l’extraction d’information utile contenue dans une image. Durant les derni`eres d´ecennies,
un grand nombre d’approches innovants ont ´et´e d´evelopp´es dans ce but. Ces recherches
ont permis d’atteindre des taux de reconnaissance appr´eciables sur de nombreuses bases
de donn´ees de test. Ces m´ethodes extraient une repr´esentation de l’image sous forme de
descripteurs. Elles utilisent ensuite l’apprentissage automatique (Machine Learning) pour
traiter ces descripteurs et obtenir le r´esultat recherch´e comme, par exemple, la reconnaissance
des objets pr´esents dans l’image.
Nous proposons dans ce m´emoire une ´etude sur le th`eme de la d´etection d’obstacles, il
comportera trois chapitres :
Chapitre 1 : D´etection et reconnaissance d’objets : Ce m´emoire aborde tout d’abord de
mani`ere g´en´erale les th`emes de la vision par ordinateur et de ses domaines d’application. Il
dresse une synth`ese de l’´etat de l’art des syst`emes de d´etection et reconnaissance d’objets
les diff´erents descripteurs d’objets ainsi que diverses m´ethodes de classification. Avant de
s’int´eresser plus en d´etail `a la m´ethode d´evelopp´ee au cours de ce travail de fin d’´etudes.
Chapitre 2 : Conception :Dans la deuxi`eme partie de ce document nous avons d´ecrit
les diff´erentes ´etapes de la mise en œuvre de nos approches d´evelopp´ees, en commen¸cant
par les m´ethodes de segmentation d’objets, nous d´etaillerons par la suite la proc´edure de
la construction des descripteurs bas´e moments de Chebyshev comme premi`ere approche, et
bas´e distribution des couleurs dans l’espace RBGa comme deuxi`eme approche.
Chapitre 3 : Impl´ementation : Nous commen¸cons dans ce dernier chapitre par d´ecrire
l’environnement de travail qui nous a permis d’impl´ementer nos approches. Nous entamons
par la suite la description des diff´erentes interfaces de l’application, puis nous avons expos´e les
r´esultats obtenus par les diff´erentes approches de d´etection, en termes de temps d’ex´ecution
et de taux de reconnaissance , pour donner une id´ee comparative de l’aspect pratique de nos
m´ethodes.
7
Chapitre 1
D´etection et Reconnaissance d’Objets
Sommaire
1.1 Vision par ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Un peu d’histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 D´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Probl´ematique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Repr´esentation d’images . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.1 M´ethodes de repr´esentation globales . . . . . . . . . . . . . . . . . 13
1.5.2 M´ethodes de repr´esentation locales . . . . . . . . . . . . . . . . . . 13
1.6 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6.1 k plus proches voisins . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6.2 Arbres de d´ecision . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6.3 Machines `a vecteurs de support . . . . . . . . . . . . . . . . . . . . 15
1.6.4 Mod`eles graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.5 Les mod`eles `a variables latentes d’aspect . . . . . . . . . . . . . . . 16
1.6.6 R´eseaux de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6.7 Boosting : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.7 ´Etat de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.1 Vision par ordinateur
La discipline qui vise `a automatiser la compr´ehension des images est la Vision par Or-
dinateur. D’autres appellations existent notamment Vison artificielle ou Vision cognitive,
cette branche de l’intelligente artificielle `a pour objectif de permettre aux machines de com-
prendre le contenu des images (ce que la machine voit !). Cette discipline se divise en plusieurs
domaines et application : Reconstruction 3D, Segmentation, Analyse du mouvement, recon-
naissance de formes, traitement d’images. On comprend que les applications sont nombreuses,
8
celles-ci cit´ees le sont `a titre d’exemple, elles ne constituent pas une liste exhaustive mais
donnent une id´ee des objectifs de ce domaine.
1.2 Un peu d’histoire
En 1966 Marvin Minsky chercheur au MIT assigne pour projet, `a un ´etudiant de premier
cycle la tˆache de raccorder une camera `a un ordinateur et que la machine devait ”d´ecrire ce
qu’elle voit”. [2] Tr`es vite l’on s’aper¸coit de la difficult´e du probl`eme.
Pr`es de cinquante ans apr`es et en d´epit des progr`es r´ealis´es les machines ne sont toujours
pas capables d’interpr´eter les images, l’Homme prouve largement sa sup´eriorit´e.
Dans ce Chapitre nous nous int´eressons au probl`eme de l’interpr´etation en particuliers au
sous probl`eme de la d´etection et reconnaissance d’objets.
La plus part des tˆaches li´es `a la vision repose sur la capacit´e `a reconnaitre les objets
et leurs cat´egories. Une vari´et´e d’application fait appel `a la reconnaissance et ce dans de
nombreux domaines d’intelligence artificielle, par exemple la recherche bas´e sur le contenu
d’images, vid´eo mining, d´etection d’objets, assistance `a la conduite.
1.3 D´efinition
Un syst`eme de reconnaissance d’objets est un syst`eme qui permet de retrouver des objets
du monde r´eel `a partir d’une image du monde,`a l’aide des model´es d’objets qui sont connues
a priori.
La communaut´e de Vision consid`ere qu’il y a deux types de reconnaissances d’objets : une
reconnaissance sp´ecifique et une reconnaissance g´en´erale. Dans la reconnaissance sp´ecifique
nous cherchons `a identifier des objets particulier dans une image exemple le portrait de Gauss,
le Taj Mahal, une certaine couverture de revue.
Figure 1.1 – Exemple d’Objets sp´ecifiques. Gauche : Carl Gauss. Droite : le Taj Mahal.
9
En revanche dans la cas de la reconnaissance g´en´erale nous cherchons `a reconnaitre
diff´erentes instances de cat´egorie d’objets, appartenant `a la mˆeme classe conceptuelle, exemple
( bˆatiments, automobiles, personnes... etc).
Figure 1.2 – Exemple de cat´egories d’objets.
Nous nous int´eressons dans ce travail au deuxi`eme type. En particuliers au probl`eme de
D´etection d’objets. La D´etection d’objets est une tˆache tr`es similaire `a la reconnaissance
d’objets, en effet on pourrait voir le probl`eme de la d´etection comme un probl`eme de re-
connaissance dans le sens ou nous cherchons `a distinguer ce qui est objet de ce qui ne l’est
pas (le fond) donc il faut reconnaitre ce qu’est un objet,ses caract´eristiques. On pourrait
d´efinir la D´etection d’objets comme suit : La tˆache de d´eceler dans une image la pr´esence
d’une ou plusieurs cat´egories d’objets. G´en´eralement la tˆache de la DO permet la localisa-
tion approximative sous forme de boite englobante. D’un point de vu segmentation la DO
permettrait de d´elimiter les fronti`eres des objets, de d´eterminer les pixels appartenant `a un
objet et ceux appartenant au fond.
1.4 Probl´ematique
Apprendre `a reconnaitre une unique instance d’objet n’est pas suffisant pour bon nombre
de probl`emes, nous nous int´eressons ici `a la reconnaissance `a l’´echelle de la cat´egorie. Cepen-
dant envisager la reconnaissance de cat´egories pr´esente plusieurs difficult´es. La premi`ere et
celle de la d´efinition et de l’organisation de ces cat´egories. Cette question a re¸cu une atten-
tion consid´erable dans des travaux notamment dans le domaine de la psychologie cognitive
(Brown 1958) [3]. La question du bon d´ecoupage des cat´egories est difficile `a aborder on peut
10
trouver des objets ayant une apparence similaire ou une fonction similaire mais appartenant
`a des classes diff´erentes, et vice versa. Nous supposerons dans notre travail que les cat´egories
sont d´efinies par l’exemple, au moyen de bases d’images.
plusieurs autres facteurs li´es aux variations des objets dans les images contribuent aux
difficult´es.
La plupart des classes d’objets naturels ont des grandes variations au sein de la mˆeme
cat´egorie, et l’apparence de deux objets appartenant `a la mˆeme classe peuvent ˆetre diff´erents.
Souvent les cat´egories sont d´efinies de fa¸con fonctionnelle et non visuels, par exemple un objet
sera class´e comme chaise du moment ou il a pour fonction de permettre de s’assoir disposera
d’un dossier mais il n’a pas forcement quartes pieds ( voir figure 1.3) on parle alors de varia-
tion intra-classe.
Figure 1.3 – Gauche :Exemple de variabilit´e intra-classe de la cat´egorie chaise. Droite : Cet
objet `a l’apparence ´etrange est une chaise de par sa fonction.
Le processus de formation de l’image supprime l’information 3D ce qui a pour cons´equence
tout petit changement dans la position ou la rotation ou du point de vue (view point) de l’ob-
jet par rapport au centre de la camera peut changer l’apparence de l’objet consid´erablement.
Une question connexe `a laquelle il faut faire face et le changement d’´echelle (scaling) une
bonne d´etection devrait ˆetre robuste `a de tels changements.
Souvent les objets peuvent ˆetre partiellement masqu´es et apparaissent g´en´eralement sur
des fonds complexes et vari´es. Un autre probl`eme est le changement d’illumination en ef-
fet l’´eclairage g´en´erale affecte l’apparence d’un objet par exemple un objet en plein soleil ou
dans la nuit n’aura pas la mˆeme apparence.
Ainsi un d´etecteur d’objet robuste doit pallier aux probl`emes li´es `a ces changements d’ap-
parence, et fournir une invariance `a la d´etection.
11
Figure 1.4 – Gauche : Exemple d’occlusion. Droite : Exemple de changement de point de
vue et rotation.
La difficult´e de la d´etection ne r´eside pas seulement dans ces probl`emes `a surmonter,
mais aussi dans la difficult´e d’exploiter certaines informations li´es au contexte `a priori utile,
l’apparence d’un objet peut ˆetre ambigus il semble int´eressant de modifier la classe d’un objet
en relation avec le contexte de la sc`ene.
En plus des difficult´es ´evoqu´es relative `a la robustesse des algorithmes de reconnaissance
rencontre des d´efis notables dans la complexit´e de calcul. Le fait que la moiti´e du cortex
c´er´ebral chez les primates est consacr´e au traitement visuel donne une indication de la charge
de calcul investit dans cette tˆache complexe [4]. Des algorithmes efficaces sont donc n´ecessaire
pour utiliser de riches repr´esentations d’images de grandes dimensions, d’exploiter de grandes
bases de donn´ees d’images, ou ´etendre la reconnaissance `a des milliers de cat´egories d’objets.
Nous pr´esentons un sch´ema r´ecapitulatif d’un syst`eme de reconnaissance voir Figure 1.4.
La mod´elisation est constitu´ee de deux phases : [5]
­ La premi`ere est hors ligne (off line) qui consiste `a repr´esenter les images de la base qui
puissent exister dans la sc`ene et construire ainsi une base de mod`eles.
­ La deuxi`eme est une ´etape en ligne qui est l’´etape de la reconnaissance elle consiste
`a effectuer des transformations spatiales, `a d´eterminer la position d’un objet dans la
sc`ene et surtout `a r´ealiser une mise en correspondance entre les objets de la sc`ene et
les mod`eles de la base d’images construites lors de l’´etape hors ligne.
12
Figure 1.5 – Reconnaissance bas´e mod`eles
1.5 Repr´esentation d’images
La question de la repr´esentation des objets est cruciale il est ´evidement peu judicieux
d’utiliser directement les valeurs des pixels de l’image, qui peuvent ˆetre tr`es diff´erents pour
des images presque identiques, sinon comparer les images pixel `a pixel, lorsque l’objet est
l´eg`erement translat´e, la repr´esentation devient compl`etement diff´erente. Et mˆeme si la mise
en correspondance est parfaite, il suffit de remplacer l’objet presque identique pour que la
valeur des pixels soit enti`erement modifi´ee. La repr´esentation a fait l’objet de beaucoup de
contributions ces derni`eres ann´ees. En effet, plus la repr´esentation est adapt´ee, plus les r`egles
de d´ecision dans cet espace sont faciles `a d´efinir.
Nous distinguons deux types d’approches.Les m´ethodes globales et les m´ethodes locales.
1.5.1 M´ethodes de repr´esentation globales
Historiquement les m´ethodes globales ont ´et´e propos´es en premier, elle calcule une signa-
ture de l’image dans sa globalit´e, `a l’aide de diff´erents descripteurs de surface, p´erim`etre,
descripteur de Fourier, et les moments. En fonction du descripteur ces m´ethodes peuvent
ˆetre robustes aux variations que subit l’objet comme l’illumination, la rotation, le change-
ment d’´echelle mais ne sont pas adapt´ees aux occultations et la pr´esence de fond complexes.
C’est pour pallier `a ces limitations tr`es contraignantes que les m´ethodes locales ont ´et´e pro-
pos´ees.
1.5.2 M´ethodes de repr´esentation locales
Ces m´ethodes consid`erent les images comme ´etant des r´egions d’int´erˆets locales, g´en´eralement
de taille assez faibles par rapport `a la taille de l’image. Elles sont appel´es ”patch” seuls les
r´egions consid´er´ees comme importantes sont utilis´ees ce qui permet de limiter la quantit´e
d’information `a manipuler par leurs nature locale et leur capacit´e `a permettre ais´ement les
appariements entre images. Ces m´ethodes conduisent `a des algorithmes robustes aux trans-
lations, aux changements d’´echelles, aux occultations, et `a la pr´esence d’un fond difficile qui
sont les caract´eristiques classiques des images en conditions r´eelles.
13
1.6 Classification
Les m´ethodes de classification ont pour but d’identifier les classes auxquelles appar-
tiennent des objets `a partir de certains traits descriptifs. La proc´edure de classification est
extraite automatiquement `a partir d’un ensemble d’exemples. Un exemple consiste en la des-
cription d’un cas avec la classification correspondante. Un syst`eme d’apprentissage doit alors,
a partir de cet ensemble d’exemples extraire un mod`ele, il s’agit en effet d’extraire une r`egle
g´en´erale `a partir des donn´ees observ´ees. La proc´edure g´en´er´ee devra classifier correctement
les exemples de l’´echantillon et avoir un bon pouvoir pr´edictif pour classifier correctement
de nouvelles descriptions. Nous introduisons dans les sections suivantes, les concepts de la
classification supervis´ee ainsi que les m´ethodes usuelles utilis´ees en vision par ordinateur.
1.6.1 k plus proches voisins
La m´ethode des K plus proches voisins (Knn K nearest neighbor en anglais) [6] se base sur
une comparaison directe entre le vecteur caract´eristique repr´esentant l’entit´e `a classer (ici un
objet) et les vecteurs caract´eristiques repr´esentant des entit´es de r´ef´erence. La comparaison
consiste en un calcul de distances entre ces entit´es. L’entit´e `a classer est assign´e `a la classe
majoritaire parmi les classes des k entit´es les plus proches au sens de la distance utilis´ee.
Les principaux inconv´enients de cette m´ethode sont le nombre d’op´erations pour classer
une entit´e dans le cas d’une grande base ainsi que sa sensibilit´e au bruit pr´esent dans les
donn´ees d’apprentissage.
Figure 1.6 – A gauche la classification, est simple quel que soit le nombre de voisins.A
droite, revanche tout d´epend du nombre de voisin l’affectation `a une classe est pond´er´ee par
la distance, plus un voisin est ´eloign´e, plus son influence est faible.
1.6.2 Arbres de d´ecision
Le formalisme des arbres de d´ecision permet de classifier un nouvel objet en testant ses
caract´eristiques les unes `a la suite des autres. La classification se fait `a travers une s´equence
de questions dans laquelle chaque question d´epend de la r´eponse `a la question pr´ec´edente.
Cette s´equence de questions est repr´esent´ee par un arbre de d´ecision dont les feuilles ter-
minales repr´esentent les classes. Deux types de valeurs sont possibles discr`etes et continues,
14
selon qu’il s’agisse d’un arbre de classification ou un arbre de r´egression.
La figure 1.6.2 illustre un exemple de classification sur des donn´ees continues `a deux dimen-
sions en utilisant les arbres de d´ecision.
Dans la phase de construction de ce classificateur, les exemples de l’ensemble de l’appren-
tissage sont divis´es r´ecursivement par des tests d´efinis sur des caract´eristiques pour obtenir
des sous-ensembles d’exemples ne contenant que des exemples appartenant tous `a une mˆeme
classe. Les algorithmes existant ( CART ( [7]), ID3 ( [8]), C4.5 ( [9])...) diff´erent essentielle-
ment par leur fa¸con de choisir, `a une ”tape donn´ee et parmi les caract´eristiques disponibles,
la caract´eristique de segmentation et par le crit`ere d’arrˆet.
Figure 1.7 – Exemple de classification avec arbre de d´ecision.
1.6.3 Machines `a vecteurs de support
Les machines `a vecteurs de support, ou Support Vector Machine (SVM) sont des fonc-
tions discriminatives. Intuitivement, les SVM sont bas´es sur deux principes. Le premier est
de maximiser la marge du classifieur, c’est-`a-dire la distance entre la fronti`ere de d´ecision et
les ´echantillons les plus proches. Le deuxi`eme est l’utilisation d’une fonction noyau (kernel
trick) pour travailler dans un espace de repr´esentation o`u les donn´ees dont lin´eairement
s´eparables. Les d´etails math´ematiques peuvent ˆetre trouv´es par exemple dans [10], Les SVM
pr´esentent de bonnes propri´et´es de g´en´eralisation, en effet, ils sont capables de construire des
mod`eles sans sur apprentissage, mˆeme dans le contexte de peu d’exemples d’apprentissage
repr´esent´es par des vecteurs de grande dimension.
1.6.4 Mod`eles graphiques
Les mod`eles graphiques utilisent avantageusement des repr´esentations des distributions
de probabilit´e par des diagrammes. Cela permet de visualiser de fa¸con simple et agr´eable les
structures du mod`eles probabiliste. Cette mod´elisation permet aussi d’avoir un aper¸cu des
15
propri´et´es du mod`ele `a partir du graphe, notamment les propri´et´es d’ind´ependance condi-
tionnelles [10]. Un graphe est constitu´e de nœuds, qui repr´esentent les variables al´eatoires,
et d’arcs qui connectent ces nœuds entre eux. Ce sont des relations probabilistes entre va-
riables. Le graphe capture de fa¸con dont nœuds d´ependent seulement d’un sous ensemble de
variables. Plusieurs types de mod`eles graphiques sont g´en´eralement distingu´es :
­ Les r´eseau bay´esiens ou mod`eles graphiques directs sont tels que le lien ente les nœuds a
une directions particuli`ere, indiqu´ee par des fl`eches et permet de mod´eliser une relations
causale.
­ Une deuxi`eme classe tr`es populaire est celle des champs de Markov (MRF) ou mod`ele
graphique indirect. Les liens n’ont pas de direction, et mod´elisent des contraintes spa-
tiale entre les labels d’´el´ements voisins dans le graphe. Ils s’int´eressent `a la probabilit´e
conjointe des observations et des labels. Ils servent en g´en´eral `a r´egulariser un champs
de labels `a l’´echelle d’une image.
1.6.5 Les mod`eles `a variables latentes d’aspect
Sont des mod`eles `a variables latentes d’un int´erˆet tout particulier. Les deux plus utilis´es
en vision sont les mod`eles pLSA et LDA. Introduits initialement pour la classification de
textes, ces mod`eles sont bas´es sur une repr´esentation en mots visuels. Le mod`ele pLSA [11]
ou Probabilistic Latent Semantic Analysis, introduit par Hofmann suppose que les images
sont d´ecrites par des distributions sur des variables d’aspect, les topics, et que chaque to-
pic poss`ede une probabilit´e de g´en´erer chacun des mots. Les deux ´etant mod´elis´es par des
distributions multinationales. Le mod`ele LDA ou Latent Dirichlet Allocation, introduit par
Blei, Ng et Jordan [?], suppose quant `a lui que ces probabilit´es multinationales sont obtenues
`a l’aide d’un a priori de Dirichlet. Les mod`eles des chapitres 3 et 5 sont des extensions du
mod`ele LDA.
1.6.6 R´eseaux de neurones
Les r´eseaux de neurones sont inspir´es de la structure neurophysiologique du cerveau.
Un neurone formel est l’unit´e ´el´ementaire d’un syst`eme mod´elis´e par un r´eseau de neurones
artificiels. A la r´eception de signaux provenant d’autres neurones du r´eseau, un neurone formel
r´eagit en produisant un signal de sortie qui sera transmis `a d’autres neurones du r´eseau. Le
signal re¸cu est une somme pond´er´ee des signaux provenant de diff´erents neurones. Le signal
de sortie est une fonction de cette somme pond´er´ee :
yj = f(
n
i=1
wijxi)
avec yj la sortie du neurone formel j en question, xi; (i = 1 ::: N) les signaux re¸cus
par le neurone j de la part des neurones i, et wij les poids des interconnexions entre les
neurones i et j. Selon l’application, la fonction f, appel´ee fonction d’activation, est le plus
souvent une fonction identit´e, sigmo¨ıde, tangente hyperbolique ou une fonction lin´eaire par
morceaux. L’apprentissage du classificateur consiste `a faire ´evoluer les poids wij par des
16
m´ethodes d’optimisation non lin´eaires pour minimiser une fonction de coˆut qui constitue une
mesure de l’´ecart entre les r´eponses r´eelles du r´eseau et les r´eponses d´esir´ees.
1.6.7 Boosting :
Le Boosting (Schapire [12]) d´esigne un principe g´en´eral d’apprentissage permettant
d’am´eliorer la pr´ecision d’un algorithme d’apprentissage donn´e. Le principe g´en´eral est de
combiner lin´eairement des r´esultats de classificateurs dits ”faibles” affin de construire un
classificateur ”fort” d’apprentissage `a partir de l’ensemble original et une m´ethode de com-
binaison de classificateurs construits `a partir de chaque nouvel ensemble.
Pour d´efinir sa nouvelle technique de ”Boosting”, Shapire se base sur l’id´ee que tout classifi-
cateur faible capable d’apprendre avec une certaine confiance et une erreur de classification
inf´erieure `a (0.5), peut ˆetre transform´e en un classificateur plus confiant et avec une erreur
de classification aussi petite que d´esir´ee. En d’autres termes, un classificateur faible don-
nant de meilleurs r´esultats qu’un simple pile ou face (50% de risque) peut ˆetre la base pour
construire un ensemble de classificateurs. A chaque it´eration, l’algorithme cherche `a trouver
un classificateur faible qui peut corriger au mieux les erreurs des classificateurs obtenus aux
it´erations pr´ec´edentes. Dans le principe de ”Boosting”, cet objectif est r´ealis´e `a l’aide d’une
pond´eration des donn´ees d’apprentissage. Le premier algorithme d´eriv´e de ce concept est
”AdaBoost”. Dans la section suivante, nous d´ecrivons l’algorithme ”AdaBoost”.
Adaboost :
L’algorithme ”AdaBoost” (Adaptive Boosting), d´evelopp´e par Freund et Schapire (Freund
et Schapire [13]), est un algorithme qui cr´ee imp´erativement une combinaison lin´eaire de
classificateurs de la forme :
H(x) = Signe(
T
t=1
αtht(x))
O`u ht repr´esente un classificateur faible et αt son poids.
”AdaBoost” est un algorithme qui prend en entr´ee, en plus d’un ensemble d’apprentissage,
un second algorithme de classification. A chaque it´eration, ”AdaBoost” appelle le second
algorithme afin d’apprendre un nouveau classificateur qui corrige les erreurs de pr´ediction de
la combinaison lin´eaire courante. Une fois ce nouveau classificateur appris, il est ajout´e dans
la combinaison lin´eaire avec un poids associ´e qui maximise la performance de la nouvelle
combinaison.
La figure 1.6.7 illustre un exemple d’AdaBoost appliqu´e sur des donn´ees en deux dimensions.
17
Figure 1.8 – Exemple de classification avec AdaBoost.
18
1.7 ´Etat de l’art
La reconnaissance d’objets a suscit´e l’int´erˆet de la communaut´e scientifique d´es les pre-
miers pas de la vision par ordinateur. les premiers travaux en reconnaissance `a la fin des
ann´ees 60 ´etaient bas´es sur la g´eom´etrie nous pouvons cit´es quelques travaux fondateurs :
Roberts [14] propose une approche ou l’objet est mod´elis´e en blocks ”block world” en an-
glais,d´efini comme suit : ”Nous supposerons que les objets vus pourraient ˆetre construits avec
des parties avec lesquelles nous sommes familiers. Nous voyons l’objet comme une transfor-
mation en un mod`ele pr´econ¸cu , ou un ensemble de parties pr´econ¸cu ... La seule exigence est
que nous ayant une description compl`ete de la structure tridimensionnelle de chaque mod`ele.”
Ce mod`ele g´eom´etrique en th´eorie fonctionne mais il est bien loin de la pratique de nom-
breuses difficult´es ne peuvent ˆetre abord´es dans ce mod`ele comme pour les objets articul´es
ou en mouvement, les surfaces curvilignes, les occlusions et les formes inconnues, texture
complexe tel que le feuillage, surfaces transparentes ou translucides.
Figure 1.9 – a) L.G.Roberts. b) Sc`ene de blocks. c) Fronti`eres extraites `a l’aide du gradient.
d) Description polyhedral de la sc`ene. e) Sc`ene 3D avec changement de point de vue.
Thomas Binford [14] repr´esente les objets par des cylindres g´en´eralis´es, la m´ethode consiste
en un balayage de l’objet, celui ci est donc repr´esent´e comme une ossature par des cylindres
le long d’un axe.
Le principale avantage de cette m´ethode est la capacit´e `a repr´esenter des objets ayant une
forme curviligne, un exemple de description d’ un objet en utilisant les cylindres g´en´eralis´es,
est montr´e dans la figure suivante.
19
Figure 1.10 – Repr´esentation des objets par les cylindres g´en´eralis´es. a) Thomas Binford.
b)Image de la gamme d’une poup´ee. c) Cylindres g´en´eralis´es obtenues.
Stephen Underwood and Clarence [14] propose une approche bas´e sur les graphes d’aspects
dans lesquels les aspects 2D d’un objet 3D sont collect´es dans des groupes appel´es aspects
sous forme d’un graphe ou chaque nœud repr´esente une vue (aspect) et les arcs repr´esentent
les relations entre les aspects et le passage d’une vue `a une l’autre.
la repr´esentation par graphe d’aspects eu beaucoup de succ`es dans la communaut´e scienti-
fique en effet la notion humaine est bas´e sur l’apparence (view centred representation) plutˆot
qu’une vision bas´ee sur l’objet.
Intuitivement cette repr´esentation semble ad´equate, mais la mod´elisation sous formes de
graphes d’aspects demeure complexe.
Figure 1.11 – Graphe d’aspects. Deux vues d’un objet, les diff´erentes projections forment
un graphe d’adjacence.
20
Biederman [15] introduit cylindres g´en´eralis´ees d´eformables appel´es geons qui a d´emontr´e
que la reconnaissance d’objets peut ˆetre caract´eris´e par l’absence ou la pr´esence de geons
(cˆones) dans la sc`ene 3D. De ce fait le r´ealisme na¨ıf qui ´emerge dans descriptions d’objets
peut refl´eter les m´ecanismes d’un syst`eme par lequel les objets sont identifi´es.
N´eanmoins le mod`ele affronte des limitations pour concr´etiser des entit´es (objets) r´eelles.
Figure 1.12 – Repr´esentation des objets `a l’aide des geons.
Dans les travaux pr´ec´edents les chercheurs ont mis l’accent sur la d´efinition des ´el´ements
primitifs pour mod´eliser les objets. D’autres travaux se sont d’avantage int´eress´e sur la notion
de structure g´eom´etrique des objets (relations g´eom´etrique).
Fischler et Elschlager [1] ont tent´e de formaliser la connaissance d’un objet en le subdi-
visant en plusieurs parties puis en repr´esentant ces parties par un mod`ele en constellation
int´egrant la relation entre les diff´erentes parties et la flexibilit´e qu’elles peuvent avoir.
21
Figure 1.13 – Mod`ele utilis´e par Fischler et Elschlager pour mod´eliser le visage Figure
provenant de [1].
Or la tˆache s’est av´er´e rapidement difficile et les efforts se sont tourn´es vers des images
plus simples ou encore des environnement contrˆol´es. Ainsi durant les ann´ees 80 et le d´ebut
des ann´ees 90, les travaux se sont port´es sur des objets bien centr´es, g´en´eralement avec des
fonds uniformes, tels que les caract`eres et visages [16].
Le probl`eme de ces m´ethodes est que les objets ´etaient souvent repr´esent´es par des images
elles mˆemes (repr´esentation explicite au moyen d’exemple). les mod`eles n’´etaient donc pas
r´esistants aux transformations et variations que peut subir l’image telles que les variations
d’apparence et de point de vue. ou encore sur des fonds complexes. Les m´ethodes par ap-
prentissage ont apport´es des r´eponses `a ces probl`emes, elles permettaient de produire de
classifieurs automatiquement `a partir d’exemples d’apprentissage.
D’autres part, les techniques de descriptions d’images ont progress´e. La description d’une
image ayant fait l’objet d’un travail consid´erable ont permit l’´emergence de m´ethodes au-
jourd’hui classiques.
Agrawal et al [17] : d´eveloppe un syst`eme de d´etection de v´ehicule en se basant sur la les
mod`eles de recherche d’informations ceci en construisant un vocabulaire visuel `a partir de
patchs, Ces patchs sont ensuite regroup´es selon une fonction de similarit´e. Les descripteur
de l’image est construit en faisant une corr´elation entre le dictionnaire visuel et un vecteur
binaire celui ci d´etermine si un mot visuel est pr´esent ou absent dans une image. ´etant
donn´ee un ensemble de donn´ees d’apprentissage marqu´e comme positifs ou n´egatifs chacune
de ces donn´ees est convertit en la repr´esentation d´ecrite ci dessus. Un classfieur SNow (
Sparce Network of Winnows) est utilis´e pour l’apprentissage. Pour la phase de la d´etection
(localisation) les auteurs utilisent la m´ethodes des fenˆetres glissantes ( sliding window) qui
parcourt l’image `a la recherche potentiel d’objets d’int´erˆets.
22
Vijayanarasilhan et Grauman [17] propose une approche originale pour la d´etection d’objet
en effet il propose une m´ethode qui permet d’´eviter l’utilisation des fenˆetres glissantes sachant
que celles ci sont couteuse en temps d’ex´ecution. ´Etant donn´e un ensemble de donn´es d’ap-
prentissage (images) ou chacune d’elle est segment´e au niveau du pixel (man segmentation)
ils entrainent un classifieur pour distinguer les cat´egories d’objets. Pour la d´etection ayant
une nouvelle image il effectuent une sur-segmentation en sous r´egions, puis pour chacune de
ces sous r´egions on extrait les caract´eristiques associ´e et finalement le classifieur renvoie un
score pour chacune des sous r´egions. Un graphe est construit le probl`eme de d´etection est
r´eduit au probl`eme MWCS (trouver un sous graphe fortement connexe en maximisant un
certain score).
Martin et al [18] proposent une m´ethode pour la d´etection et la localisation des fronti`eres
dans les images naturelles en utilisant une combinaisons de caract´eristiques locales aux pixels.
Un classifeiur est utilis´e pour faire l’apprentissage sur des images ground truth, la sorti
du classifeur donne la probabilit´e de la pr´esence d’une fronti`ere `a chaque localisation et
orientation dans l’image. Les auteurs utilisent les discontinuit´es au niveau de la luminance (
oriented energy and gradient), les gradients couleurs, ainsi que les gradient au niveau de la
texture en utilisant la transform´ees d’Hilbert avec un filtre gaussien.
Gao et Fen [19] ont compar´es trois diff´erentes approches pour la d´etection des objets
saillants. La premi`ere m´ethode est bas´ee sur la segmentation en utilisant l’algorithme Jseg
cette algorithme est int´eressant car il ne permet pas seulement de trouver une homog´en´eit´e
dans les couleurs mais aussi il cherche l’homog´en´eit´e de la texture dans une image. Mais cette
approche rencontre des limites car elle produit biens souvent une sur-segmentation des r´egions
d’un objet la seconde m´ethode (grid based method) bas´e grille permet d’´eviter les erreurs
du au processus de segmentation le principe est de partitionner l’image en grille superpos´e
(overlapping grid). Les caract´eristiques Sift sont calcul´ees pour chaque grille, L’avantage
d’une telle m´ethode et contrairement aux m´ethodes bas´e sur le template matching est de ne
pas prendre en consid´eration les portions non significatives des grilles et ce en se concentrant
uniquement sur la forme globale d’un objet. Malgr´e cela cette m´ethode devient inad´equate
lorsque la grille ne couvre pas les objets saillants d’une image. La troisi`eme m´ethode peut
pallier `a ce probl`eme (part based method) bas´ee sur les r´egions ou des parties d’une image.
L’id´ee est construire un dictionnaire de patchs extraits d’une image. Pour une image test
donn´ee il suffit de calculer ces caract´eristiques est de faire un matching avec le mod`ele. Enfin
les auteurs proposent une m´ethode hybride en faisant la combinaison des 3 m´ethodes d´ecrites.
Maaoui et al [20] pr´esentent une approche de reconnaissance d’objets bas´ee sur l’utilisation
des moments de Zernike appliqu´es `a des images couleur, la d´etection est effectu´e en utilisant
une segmentation couleur et l’´etiquetage des composantes connexes et une m´ethode bas´ee
sur les Svm est utilis´ee `a l’´etape de l’apprentissage.
23
Lee et al [21] d´etectent les objet saillants d’une image naturels , il calcule une carte de
saillance en appliquant la m´ethode PCA ( principale component analysis) `a la couleur dans les
espaces RGB et CIE-Lab une clusterisation des distributions des couleur est ils obtiennent
une carte de saillance. la classification objet/fond est obtenue en appliquant une analyse
discriminative lin´eaire ( LDA) pour chaque pixel de l’image test.
Wang et al [22] pr´esentent une nouvelle approche pour la d´etection de cat´egories d’ob-
jets en combinant des descripteurs d’apparence locales et des contraintes contextuelles. Ils
construisent une foret de Hough de patchs afin de d´eterminer les emplacements possibles de
diff´erents objets, enfin il consid`erent des contraintes d’emplacement spatiales entre les objets
dans un espace de vote de Hough afin d’am´eliorer la pr´ecision de la d´etection.
Juang et Chen [23] proposent un syst`eme flou pour la d´etection d’objets en temps r´eel
`a l’aide d’un svm (TFS-SVMPC). Le syst`eme de d´etection consiste en deux ´etapes : La
premi`ere utilise un histogramme globale de couleur de l’objet comme caract´eristique discri-
minative, ici en particuliers les auteurs proposent une m´ethode pour calculer l’histogramme
afin de permette l’impl´ementation en temps r´eel. La seconde ´etape utilise une caract´eristique
g´eom´etriques de d´ependances locales des couleurs des objets comme descripteur pour le mˆeme
classifieur.
Fulkerson et al [24] proposent une m´ethode pour la localisation d’objets, en utilisant les
superpixels plutˆot que les pixels. De la ils construisent un histogramme de caract´eristiques
locales pour chaque superpixel. les CRF (Conditional Random Field) sont utilis´es pour la
phase de reconnaissance.
La plupart des m´ethodes de d´etection d’objets utilisent pour la localisation des objets sur
la technique des fenˆetres glissantes, cette technique consiste en une recherche exhaustive sur
toute l’image, cette m´ethode est particuli`erement couteuses en temps de calcul. Beaucoup
d’avanc´ees dans les m´ethodes sont apparues, en ce sens nous pouvons citer quelques travaux
marquants.
Le d´etecteur de visages de Viola et Jones [25] qui a inspir´e les d´etecteurs de utilis´es dans
les appareils photo num´eriques. Cette m´ethode se base sur une cascade de classifieurs o`u
un descripteur de fenˆetre est ´evalu´e par une s´erie de classifeurs qui peuvent choisir de le
rejeter ou de continuer les traitements. La cascade permet d’acc´el´erer la classification. Une
autre technique int´eressante propos´e par Viola et Jones est celle des images int´egrales cette
technique permet d’acc´el´erer consid´erablement le calcul des caract´eristiques.
Lampert et al [26] ont trait´e le probl`eme sous un angle diff´erent en se basant sur l’algorithme
de S´eparation et ´Evaluation (Branch and Bound). La m´ethode propos´e permet de trouver le
maximum global de la fonction de score tout en examinant un nombre restreint de fenˆetres,
mais cette m´ethode ne permet pas l’utilisation des classifieurs les plus performants, ceci `a
cause des contraintes sur les fonctions de score qui influe sur le choix du classifieur `a utiliser.
24
D’autres travaux se sont int´eress´es `a la repr´esentations des objets, notons les travaux
de Dalal et Triggs [27] ont propos´e un descripteur `a base des histogrammes d’orientations
des gradients (HOG) pour la d´etection de personnes, inspir´e de SIFT. le descripteur est
calcul´e dans une fenˆetre 64*128 la taille du descripteur (histogramme) est de 3870. La phase
d’apprentissage est fait `a l’aide d’un classifieur SVM. La d´etection quant `a elle est effectu´e
via une fenˆetre glissante, chaque fenˆetre calcul le descripteur HOG puis le classifieur retourne
avec quelle confiance cette fenˆetre contient l’objet d’int´erˆet.
D’autres travaux se sont int´eress´ees `a la mod´elisation des objets.
Leibe et al [28] proposent une m´ethode des mod`eles implicites de forme (Implicit shape mo-
del) qui permet de d’apprendre la relation entre les mots visuels et le masque de segmentation
des objets, et sera capable de retrouver dans une nouvelle image.
25
Chapitre 2
Conception
Sommaire
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Approche 1 : 1-Chebychev . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.1 La segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2 Repr´esentation de l’image . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.3 Reconnaissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3 Approche Couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.1 Repr´esentation des objets . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.2 Construction du mod`ele . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.3 Appariement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3.4 Localisation des objets . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3.5 Localisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.6 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.1 Introduction
Comme pr´ecis´e dans le chapitre pr´ec´edent, la d´etection d’objets reste l’un des principaux
sujets de recherche en vision par ordinateur, de part, la complexit´e de la tˆache mais surtout
la capacit´e `a s’adapter `a tout types d’environnement.
L’objectif de notre travail est de permettre `a un ordinateur de d´etecter et de reconnaitre
des objets pr´esents dans une image. Apr`es quelques recherches et apr`es voir pass´e en revue
diff´erentes techniques et m´ethodes existantes pour la d´etection d’objets, nous pr´esentons dans
ce qui suit notre contribution dans cette tˆache.
26
La d´etection d’objets pr´esente beaucoup de difficult´es `a diff´erents niveaux, nous pouvons
les r´esumer dans ce qui suit :
­ La repr´esentation de l’objet : il est n´ecessaire de repr´esenter de mani`ere discriminative
les objets. Nous devons donc concevoir un descripteur robuste aux changements et
diverses variations des objets.
­ Il est important de bien d´efinir les classes d’objets, cherchons-nous des cat´egories d’ob-
jets ou bien des instances ?
­ La mani`ere de faire la correspondance entre un objet (susceptible d’en ˆetre un) et le
mod`ele connu `a priori. (Apprentissage automatique, Template matching,...).
­ La localisation des objets dans une image : ou se trouvent ils ? Comment les extraire ?
(Segmentation, parcours exhaustive,...).
­ La complexit´e des algorithmes existants : comment parvenir `a une reconnaissance en
temps r´eel ?
Toutes ces questions repr´esentent des difficult´es que nous devons surmonter. L’objet de la
suite de ce chapitre est de fournir des r´eponses `a ces questions, nous pr´esentons en d´etails
nos diff´erents algorithmes.
Nous avons con¸cu deux approches diff´erentes pour la d´etection d’objets, nous d´etaillerons
une `a une dans la suite de chapitre.
2.2 Approche 1 : 1-Chebychev
Dans cette approche nous proposons une m´ethode de reconnaissance bas´ee sur l’utilisation
des moments de Tchebychev comme descripteur d’objet. Dans ce qui suit, nous donnerons
plus de d´etails sur le syst`eme con¸cu.
Figure 2.1 – Syst`eme de reconnaissance.
27
2.2.1 La segmentation
La segmentation d’une image est une ´etape cruciale dans la tˆache de la d´etection d’objets.
Nous proposons dans cette section diff´erentes m´ethodes que nous avons con¸cu pour segmenter
les objets et les extraire du fond.
M´ethode 1 : DBscan globale
DBscan est un algorithme de clusterisation de donn´ees bas´ees densit´e (denisity based). La
tˆache de clusterisation consiste au regroupement des donn´ees selon un crit`ere de similarit´e.
DBscan permet de regrouper des points ( Des donn´ees) denses en un seul cluster. Les clusters
obtenues forment des hyper-sph`eres.
DBscan utilise deux param`etres, la distance (epsilon) et MinPts. la distance repr´esente
le rayon ou peut s’´etendre le cluster, MinPts lui repr´esente le nombre de points minimum
pour qu’un ensemble de points soit consid´er´e comme cluster.
L’un des avantages quant `a l’utilisation de cette m´ethode est le fait de ne pas connaitre `a
priori le nombre de clusters, contrairement `a d’autres m´ethodes de clusterisation.
Dans le cas des images, il s’agit de regrouper les pixels proches et ayant une certaine
similarit´e en un cluster, ici nous appliquons DBscan d’une mani`ere diff´erente. Le rayon de
recherche est ´etendu `a toute l’image, nous calculons donc la similarit´e d’un point avec tous les
autres points de l’image. c’est une exploration globale de l’image, ceci permet de regrouper
des points plus ou moins ´eloign´es portant les mˆemes caract´eristiques.
28
Donn´ees : I image. S : seuil de comparaison. MinPts : nombre de pixel minimum
dans un cluster.
R´esultat : Image labellis´ee
Debut
Label=0
pour tout pixel P dans L’image faire
si P est non visit´e alors
marqu´e P comme visit´e
ListePixels< −− genererSimilaire(P, seuil)
si || ListePixels|| < Minpts alors
marquer P comme bruit ;
fin
sinon
/* incrementer le label */
Label< −− Label +1
clusterisation(P, Label,ListePixels)
fin
fin
fin
Fin
Algorithme 1: Algorithme de la premi`ere m´ethode.
La fonction g´en´erer Similaire retourne la liste des points portant les mˆemes caract´eristiques
que celui re¸cu en argument. la fonction clusterisation permet d’´etendre le cluster et de labeliser
chaque ´el´ement du cluster.
Donn´ees : I : P pixel .ListePixels : contient les ´el´ements similaires au pixel P.
R´esultat : cluster labelis´e
Debut
pour chaque ´el´ement e dans ListePixels faire
/* g´en´erer sa liste de points similaire */
ListeSim< −−g´en´ererSimilaire(e,seuil)
si || ListeSim|| > Minpts alors
fusionner(ListeSim,ListePixels)
fin
fin
Fin
Algorithme 2: Proc´edure de Clusterisation.
29
Cette approche s’est av´er´ee efficace en terme de clusterisation, de plus elle est r´esistante
aux changement de gradients et de luminance pr´esents dans l’image, la m´ethode est robuste
aux variations locales de l’image.
Figure 2.2 – R´esultat de segmentation avec DBscan globale. Gauche : Image originale.
Droite : Image segment´ee labellis´ee.
Malgr´e ces avantages la m´ethode est couteuse en temps de calcul car chaque pixel est
compar´e avec l’ensemble des pixels de l’image. Pour pallier `a cette d´eficience nous proposons
une am´elioration `a l’algorithme 1.
M´ethode 2 : DBscan locale
Dans cette m´ethode nous explorons l’image de mani`ere locale et non pas globale. Cette fois
ci les pixels sont compar´es avec leurs voisinages imm´ediats, de mani`ere analogue `a la m´ethode
des composantes connexes. Nous comparons chaque pixel aux pixels adjacents, le rayon de
recherche est fix´e `a 1, contrairement `a la premi`ere, cette m´ethode est rendue sensible aux
changements de gradients, couleurs, et autres variations locales. La m´ethode pourrait mener
`a une sur-segmentation, ceci est dˆu principalement au fait de comparer les niveaux de gris
des pixels.
30
Donn´ees : I image. S : seuil de comparaison. MinPts : nombre de pixel minimum
dans un cluster.
R´esultat : Image labellis´ee
Debut
Label=0
pour tout pixel P dans L’image faire
si P est non visit´e alors
marqu´e P comme visit´e
ListePixels< −− genererSimilaire(P, seuil)
si || ListePixels|| < Minpts alors
marquer P comme bruit ;
fin
sinon
/* incrementer le label */
Label< −− Label +1
clusterisation(P, Label,ListePixels)
fin
fin
fin
Fin
Algorithme 3: Algorithme de la deuxi`eme m´ethode.
La fonction g´en´erer voisins Similaires retourne cette fois ci la liste des points adjacents (8
connexit´e) portant les mˆemes caract´eristiques que celui re¸cu en argument.
Figure 2.3 – R´esultat de segmentation avec DBscan locale en utilisant les niveaux de
gris. Gauche : Image en niveau de gris. Droite : Image labellis´ee, nous obtenons une sur-
segmentation.
31
Pour pallier `a ce probl`eme Nous avons donc alors opt´e pour un changement dans l’espace
des couleurs, nous avons exploit´e l’espace HSV au lieu de travailler avec les niveaux de gris.
Nous avons choisi l’espace HSV car cette repr´esentation des couleurs est plus proche de la
perception humaine. En utilisant cette fois que la composante Hue (Teinte).
Figure 2.4 – Gauche : Image convertit dans l’´eespace HSV. Droite :R´esultat de segmentation
avec DBscan locale en utilisant la Teinte.
Le temps d’ex´ecution de cette m´ethode, contrairement `a la premi`ere, est nettement plus
r´eduit, le temps de r´eponse est instantan´e, ceci est dˆu au fait d’explorer l’image localement,
chaque pixel avec son voisinage. les r´esultats de cette segmentation sont proches de la notion
d’objets car les objets ont plus ou moins les mˆemes caract´eristiques.
Figure 2.5 – Gauche : Rsultat de segmentation avec DBscan locale en utilisant le Teinte.
Droite : Localisation des objets.
N´eanmoins pour des images ayant des objets et des fonds fortement textur´e, la m´ethode
trouve ses limites. voir Figure 2.2.1
32
Figure 2.6 – Gauche : Image convertit dans l’espace HSV. Milieu :R´esultat de segmentation
avec DBscan locale en utilisant la Teinte. Droite :R´esultat de segmentation l’objet n’est pas
d´etect´e.
Nous avons donc par la suite con¸cu une autre m´ethode pour la segmentation.
M´ethode 3
Afin d’apporter une solution aux limitations des algorithmes pr´ec´edents, nous proposons
ici une toute autre approche.
La figure suivante illustre le principe de notre m´ethode. Sch´ema r´ecapitulatif de notre m´ethode :
Figure 2.7 – Organigramme de la m´ethode.
33
Binarisation
L’´etape de la binarisation est une ´etape cl´e dans notre algorithme, le but de cette ´etape
est de permettre l’extraction des objets de leurs fond, il nous faut distinguer les pixels ap-
partenant certainement aux objets et le pixels appartenant au fond.
Le probl`eme qui se pose est celui du choix d’un seuil pour la binarisation, en effet chaque
image `a une distribution de niveau de gris qui lui est propre, comment choisir alors un seuil
et surtout savoir l’adapter `a chaque image ?
Le seuillage n’est pas n´ecessairement une op´eration qui s’effectue manuellement, la valeur
d’un seuil peut ˆetre obtenue de mani`ere automatique.
Notre d´emarche pour faire cela est d’estimer deux seuils `a partir de l’histogramme des
niveaux de gris associ´e `a l’image. Le but est de trouver les meilleurs seuils permettant de
s´eparer deux populations, l’une serait le fond et l’autre les objets.
Le principe est de parcourir l’histogramme des nivaux de gris, en r´ecup´erant les mini-
mums et les maximums locaux significatifs ( une grande variation dans l’histogramme c.`a.d.
un changement brusque dans les fr´equences des valeurs). Enfin parmi eux choisir les meilleurs
seuils qui encadrent la distribution de tel sorte a englober les valeurs qui se r´ep`etent le plus.
Figure 2.8 – Repr´esentation des minimums et maximums locaux sur l’histogramme.
34
Figure 2.9 – Bas : Extraction des minimums et maximums locaux `a partir de l’histogramme.
Donn´ees : I Image I. seuil1, seuil2
R´esultat : Image binaris´ee B.
Debut
pour tout pixel P dans Image faire
si P<seuil1 ou P > seuil2 alors
P< −−255 /* pixel en blanc */
fin
sinon
P< −−0 /* pixel en noir */
fin
fin
Fin
Algorithme 4: Algorithme de Binarisation.
Nous pouvons illustrer par l’exemple suivant voir figure Figure 2.10
Figure 2.10 – Gauche : Image binaris´ee. Droite :Histogramme des niveaux de gris ainsi que
les seuils min et max en rouge.
35
Donn´ees : I Image I.
R´esultat : Seuil seuil1, Seuil seuil2.
Debut
HistoBin : /* vecteur accumulateur de 256 ´el´ements */
ListeMin, ListeMax /* listes contenant respectivement les minimums locaux
(les maximums locaux), initialement vides. */
DiffMin, DiffMax /* listes contenant respectivement les changements de
fr´equences des min locaux (max locaux) */
Vc, Vp /* valeur courante, valeur pr´ec´edente. */
Bool change= faux /* variable utilis´ee pour le changement de signe */
pour toute Vc de HistoBin faire
si Vc−Vp> s1 alors
si change=faux alors
ajouter Vp `a ListeMin
ajouter `a DiffMin (Vc−Vp)
fin
change=vrai
fin
si Vc−Vp < s1 et Vc−Vp >= 0 alors
change= vrai
fin
si Vc−Vp < s2 alors
si change=vrai alors
ajouter Vp `a ListeMax
ajouter `a DiffMax (Vc−Vp)
fin
change=faux
fin
si Vc−Vp <= 0 et Vc−Vp > s2 alors
change=faux
fin
fin
/* extraction des seuils */
/* 1.Parcourir ListeMax extraire la valeur Max celle ci repr´esente la
valeur la plus fr´equente dans l’histogramme. */
/* 2. fractionner ListeMin en deux selon Max L1 et L2 tel que toutes les
valeurs de L1 sont inf´erieur `a Max et inversement toutes les valeurs
de L2 sont sup´erieur `a Max. */
3.pour chaque ´el´ement x de L1 faire
/* eliminer x s’il existe un element y dans ListeMax tel que x > y */
fin
4.seuil1< −− Minimum de L1. 5.pour chaque ´el´ement x de L2 faire
/* eliminer x s’il existe un element y dans ListeMax tel que x < y */
fin
6.seuil2< −− Maximum de L2.
Fin
Algorithme 5: Algorithme d’extraction de seuils pour la Binarisation.
36
Le choix du seuil permet de distinguer les objets du fond mais le r´esultat n’est pas tou-
jours pertinent. L’image binaire obtenue comporte beaucoup de pixels marqu´es en blanc
appartenant aux diff´erentes r´egions de l’image (le fond ´etant inclus).
´Erosion
Pour ´eliminer cela nous allons proc´eder `a une ´erosion de l’image afin de retenir les pixels
appartenant uniquement aux objets. Nous allons donc proc´eder `a l’´erosion de l’image binaire
plusieurs fois.
Figure 2.11 – Image binaris´ee apr`es ´erosion.
Dilatation
Il reste encore quelques pixels n’appartenant pas aux objets d’int´erˆets mais nous ne pou-
vons en ´eliminer d’avantage avec l’´erosion, nous avons alors vu le probl`eme autrement, au
lieu d’isoler les objets nous cherchons `a retrouver le fond, en effet en partant du principe que
ce qui n’appartient pas aux objets appartient forcement au fond.
Pour cela nous appliquons une dilatation sur l’image binaris´ee suivie d’une inversion, la Fi-
gure 1.10 repr´esente cette ´etape.
Le fond dans cette image est marqu´e en gris.
Figure 2.12 – Image binaris´ee apr`es dilatation puis inversion.
37
Nous avons deux images, l’une ´etant l’´erosion de l’image binaire et l’autre la dilatation,
nous proc´edons `a une superposition des deux images `a l’aide d’une simple somme logique,
nous obtenons ainsi une image `a trois niveaux de gris blanc noir et gis moyen comme l’illustre
la Figure 1.12
Figure 2.13 – Superposition des deux images pr´ec´edentes.
A cette ´etape, nous avons une image combin´ee, ce dont nous sommes certains est de la
nature des point marqu´es en gris moyen et blanc , en effet nous sommes savons que les points
en blanc appartiennent aux objets et que les points marqu´es en gris moyen appartiennent au
fond. les r´egions marqu´es en noir sont quant `a elle ”incertaines” celles ci peuvent appartenir
au fond comme aux objets. Il nous faut donc d´eterminer si ces r´egions appartienne bien aux
objets ou bien si elles font partie du fond. Il s’agit donc de trouver les fronti`eres des objets
dans ces r´egions.
La Segmentation
L’id´ee de base de notre algorithme est d’attribuer aux r´egions ”incertaines” un label de
fond ou bien celui d’objet.
Le principe est le suivant, si une r´egion incertaine est entour´ee compl`etement par une r´egion
marqu´e comme fond (gris moyen) et qu’elle ne contient pas de blanc alors certainement cette
r´egion appartient au fond. Par contre si cette r´egion entoure une r´egion marqu´ee comme
objet (blanc) alors une partie de cette r´egion incertaine fait partie de l’objet. De l`a, nous
d´eterminons les fronti`eres des objets car cette r´egion contient forcement les fronti`eres des
objets.
La figure 2.14 illustre le principe de la segmentation.
38
Figure 2.14 – ´Etapes de segmentation d’objets : les r´egions marqu´es en blanc s’´etendent
jusqu’aux fronti`eres des objets.
Donn´ees : I Image I fusion.
R´esultat : Image S segment´ee.
Debut
Mat : matrice bool´eenne de la taille de l’image I.
pour tout p de l’image. faire
si P est marqu´e Noir alors
P< −−gris /* marquer en gris. */
marquer Mat[p]=vrai
fin
fin
pour tout pixel p de l’image fusion faire
si P est marqu´e en Blanc alors
/* ´Etendre le blanc jusqu’aux fronti`eres. */
1. ´Etendre le voisinage de chaque pixel ( 8 pixels voisins). 2.Lors de l’extension,
les fronti`eres repr´esentent les pixels avec les plus hauts gradients dans cette
r´egion.
fin
fin
Fin
Algorithme 6: Algorithme de Segmentation.
La Figure 2.15 illustre les r´esultats de la segmentation.
39
Figure 2.15 – R´esultats de la segmentation. -Gauche : fronti`eres des objets. -Milieu :Seg-
mentation des objets. Droite : r´esultat final, extraction des objets.
2.2.2 Repr´esentation de l’image
Les moments jouent un rˆole tr`es important dans la reconnaissance d’objets. Ce sont des
quantit´es scalaires utilis´ees pour repr´esenter une fonction de mani`ere significative.
Habituellement utilis´ees en statistiques, nous introduisons les moments de Tchebychev comme
descripteur d’objets.
Les moments de Tchebychev ont ´et´e introduit par R Mukundan en 2001 [29] ,les moments
de Tchebychev permettent de d´ecrire une fonction (une distribution de points) de mani`ere
pr´ecise . D’un point de vue math´ematique, il s’agit des diff´erentes projections dans un espace
orthonorm´e, en vision, cela permet de d´ecrire la forme d’une image d’un objet dans le cas de
la reconnaissance.
Les moments de Tchebychev d’ordre p+q , associ´e `a une image de taille N ∗N est donn´ee
par :
40
L’utilisation des moments de Tchebychev pr´esente beaucoup d’avantages compar´e `a l’uti-
lisation d’autres moments. Ceux ci peuvent ˆetre ´enum´er´es comme suit :
­ Les moments de Tchebychev sont orthogonaux : la condition d’orthogonalit´e est v´erifi´ee
(voir chapitre pr´ec´edent) cette propri´et´e permet d’´eliminer la redondance d’information,
car la base polynomiale est orthogonale, cela veut dire que pour un moment donn´e r
une projection repr´esente une partie de l’image.
­ Les moments de Tchebychev sont discrets ce qui permet d’exploiter directement les
points de l’image (coordonn´es), cela permet d’´eliminer les approximations num´eriques.
­ Les moments de Tchebychev sont r´esistants aux variations d’´echelle et de translation.
­ L’utilisation des moments de Tchebychev convient aux images sym´etriques et asym´etriques
contrairement aux moments de Legendre avec des images sym´etriques.
­ Les moments de Tchebychev permettent la reconstruction de l’image originale.
Malgr´e ces avantages, en pratique, le calcul des moments de Tchebychev s’av`ere couteux
en terme de temps. Il est indispensable dans notre probl`eme de se rapprocher le plus de la
notion de temps r´eel sans perdre pour autant de la robustesse et la pr´ecision qu’apporte cette
repr´esentation.
Dans cette optique nous avons propos´e une variante quant `a l’utilisation classique. Plu-
sieurs modifications ont ´et´e apport´ees dans le sens de cette d´emarche.
41
Dans la litt´erature les moments sont calcul´es jusqu’`a un ordre donn´e c’est `a dire que pour
calculer les moments d’ordre n il faut aussi calculer les ordres pr´ec´edents (0, 1, 2, , , , n − 1)
cela est important pour capturer tous les d´etails d’une image `a l’aide des diff´erentes projec-
tions. Mais est il n´ecessaire de calculer tous les ordres pr´ec´edents ? est il n´ecessaire d’avoir
des d´etails sur toutes les projections `a diff´erents ordres ? Pour la reconstruction de l’image
il est ´evidement important d’avoir toutes les projection afin de retrouver le plus fid`element
l’image originale.
Cependant la complexit´e du calcul num´erique des moments est un r´eel obstacle. Nous propo-
sons alors de calculer les moments `a un ordre donn´e sans tenir compte des ordres pr´ec´edents.
ceci revient `a utiliser l’une des projections pour d´ecrire un objet. Nous pourrions nous deman-
der si c’est est bien suffisant ? nous pouvons d´emontrer cela en proc´edant `a une reconstruction
de l’image avec notre m´ethode, `a diff´erents ordres ainsi qu’avec la m´ethode de calcul classique.
Figure 2.16 – Reconstruction `a diff´erents ordres avec notre calcul des moments ainsi qu’avec
le calcul classique de ceux ci.
42
Nous remarquons la chose suivante : plus l’ordre est ´elev´e (jusqu’`a un certain ordre) plus
la reconstruction est pr´ecise.
Il est ´evidement logique que la reconstruction ne permet pas de retrouver l’image originale
dans son int´egralit´e. Cependant, la forme globale reste la mˆeme. Nous obtenons donc une
repr´esentation globale de l’image dans notre cas de l’objet, cela permet donc de repr´esenter
de mani`ere globale la forme de l’objet, cela s’adapte parfaitement `a notre probl`eme. Nous
n’avons pas besoin d’autant de d´etails aussi fins car nous cherchons `a retrouver des cat´egories
d’objets.
De plus, l’avantage notable est la r´eduction de la complexit´e algorithmique, le temps de
calcul des moments est remarquablement plus r´eduit compar´e au calcul classique pour le
mˆeme ordre.
Les moments de Tchebychev sont habituellement utilis´es sur des images en niveau de
gris ou encore sur des image binaire, notre but est de modifier le descripteur afin que nous
puissions int´egrer l’information couleur, ceci permet de distinguer des objets ayant des formes
identiques mais pourtant diff´erents, nous obtenons un niveau plus ´elev´e de pr´ecision. Il s’agit
de rajouter dans le descripteur de nouveaux ´el´ements choisis comme ´etant les param`etres
dans l’espace Rgb.
Une autre modification et am´elioration consiste en l’application des moments de Tcheby-
chev sur des images contours,comme propose Dahmani dans les travaux pr´ec´edents [30] en
introduisant les contours internes pour le calcul des moments. Pour cela nous appliquons le
filtre Canny sur nos images, ceci permet de r´eduire consid´erablement le temps de calcul des
moments, de plus les contours donnent une assez bonne repr´esentation d’un objet, en effet
la forme de l’objet est pr´eserv´ee, nous ne perdons pas l’information sur la forme globale de
celui ci.
Comme mentionn´e auparavant les moments de Tchebychev sont robustes aux changement
d’´echelles, ainsi qu’aux multiples prises de vues, par contre un des majeur probl`eme de ces
moments, est que ces derniers sont sensibles `a la rotation.
En examinant les r´esultats obtenus en appliquant les moments de Tchebychev sur diff´erents
angles de rotation (quatre axes principaux) pour le mˆeme objet, nous avons remarqu´e une
certaine relation dans les nombres (moments) obtenues.
43
Figure 2.17 – L’effet de la rotation sur les descripteurs `a diff´erents ordres.
Nous avons observ´e les points suivants :
­ Nous avons un objet, nous lui appliquons les moments de Tchebychev, ce qui a pour
r´esultat de nous donner un vecteur avec un certain nombre de valeurs, lorsque l’objet
connait une rotation de 180 degr´es, nous avons remarqu´e que les valeurs du vecteur cit´e
sont multipli´ees par −1,
­ Nous avons un objet, nous lui appliquons les moments de Tchebychev, nous obtenons
alors un vecteur avec un certain nombre de valeurs, lorsque l’objet connait une rotation
de 90 degr´es et que l’on applique de nouveau les moments de Tchebychev, nous obte-
nons un vecteur de valeurs. En apparence ces valeurs semble al´eatoires mais en fait elles
ne le sont pas. Nous avons r´eussit `a trouver une r`egle g´en´erale, un algorithme capable
de d´eterminer le signe de chaque valeur du descripteur.
Nous avons remarquer la chose suivante :
L’ordre P intervient dans le changement du signe du vecteur, si P est paire, les valeurs
du vecteur sont les mˆemes, par contre si P est impaire, il y a changement de signe du
vecteur, ce dernier est multipli´e par -1, de plus l’image miroir du vecteur est cr´ee.
Nous avons ´elaborer une formule qui permet de d´efinir cette relation math´ematique.
cette formule est la suivante :
44
La formule (1)
devient alors :
Donn´ees : I image.
R´esultat : d1, d2 ,d3, d4 : Descripteurs des quatre axes de rotation respectivement 0,
90, 180,270 degr´es
Debut
/* Calcul des moments ainsi que les moments avec rotation de 90 degr´es
*/
/* Ordre P+Q */
si P est paire alors
/* m^eme signe de la valeur */
d2[i]= d1[i]
fin
sinon
/* changer le signe */
d2[i]= (-1) * d1[i]
fin
d2= image miroir de d2
/* calcul des descripteurs aux rotations 180 et 270 degr´es
respectivement. */
d3= (-1)* d1
d4= (-1)* d2
Fin
Algorithme 7: Algorithme de la rotation 1-Chebychev.
45
Cette nouvelle formule permet d’obtenir les descripteurs d’un objet lorsque celui ci est
soumis `a une rotation β avec β appartenant `a (90, 180, 270) degr´es.
De cette mani`ere l’utilisation d’un seul quadrant dans le cercle trigonom´etrique nous
suffira pour trouver le descripteur de l’objet pour tous les angles. Puisque l’on peut obtenir
les descripteurs des rotations sur les quatre axes principaux et ce pour n’importe quel angle.
Figure 2.18 – Influence de l’ordre et la rotation sur le calcul des moments.
2.2.3 Reconnaissance
Les moments de Tchebychev calcul´es pr´ec´edemment ainsi que la classe de chaque objet
forment un ensemble d’apprentissage (xi, yi) i = 1..M ou chaque yi appartient `a 1..N si nous
avons N classes diff´erentes. Notre objectif est de construire une fonction f(x) qui estime
les d´ependances entre les exemples xi et les classes yi et qui minimise le risque d’erreur de
classification pour un point x donn´e n’appartenant pas `a la base d’apprentissage.
A l’origine, les SVM ont ´et´e con¸cus essentiellement pour les probl`emes `a 2 classes, o`u la
sortie ne peut avoir que deux valeurs 0 ou 1.
Cette approche a ´et´e modifi´e pour g´erer les tˆaches multi-classes adapt´es `a notre probl`eme
de reconnaissance d’objets. Plusieurs approches permettant d’´etendre cet algorithme aux cas
`a N classes ont ´et´e propos´ees. La m´ethode que nous utilisons dans cette approche, est une
m´ethode dite ”un contre tous” (r´ef).
L’id´ee est donc de construire une fonction qui, en ayant de nouvelles donn´ees, pr´edira
correctement la classe `a laquelle la nouvelle entr´ee appartient. Cela peut ˆetre r´ealis´e en
d´ecomposant le probl`eme de classification multi-classes en de multiples probl`emes de classi-
fication binaires, et puis d’utiliser le principe de vote majoritaire pour pr´edire l’´etiquette (la
sortie).
Le processus est de r´esoudre K diff´erents probl`emes binaires : classifier la ”classe k” contre
46
”le reste des classes” pour k = 1, . . . , K. Tel que K est le nombre d’objets pr´esents dans notre
classe, ainsi chaque classifieur binaire probabiliste not´e Ci permet de donner une probabilit´e
d’appartenance de l’objet de test `a la classe i.
Puis d’attribuer un ´echantillon de test pour la classe qui donne la plus grande valeur
fk(x), ou fk(x) est la solution du k `eme probl`eme.
Critiques Notre m´ethode malgr´e les avantages qu’elle pr´esente et sa robustesse aux va-
riations des objets ( rotation, occlusion, ´echelle), notre m´ethode trouve ses limites avec des
images de sc`enes r´eelles. cela est du aux r´esultats de la segmentation en effet la segmenta-
tions peut ˆetre difficiles dans des sc`enes r´eelles car il est difficile d’extraire et de distinguer
les objets dans ces images.
La figure suivante montre un exemple de segmentation d’une sc`ene r´eelle.
Figure 2.19 – R´esultat de segmentation dans une sc`ene r´eelle. Gauche : Image de la sc`ene.
Droite : Image segment´ee, mˆeme si nous arrivons `a extraire les objets du fond, nous ne
pouvons les distinguer.
2.3 Approche Couleur
Dans l’approche pr´ec´edente la localisation ´etait bas´e sur la segmentation. H´elas les m´ethodes
de segmentations les plus ´elabor´ees ne permettent pas de segmenter des sc`enes complexes.
Nous proposons une autre approche pour la d´etection et la reconnaissance d’objets. Celle ci
est diff´erente de la premi`ere, elle est bas´ee sur la description des objets `a l’aide de l’informa-
tion couleur. Nous d´etaillons dans la suite de ce chapitre le syst`eme de reconnaissance con¸cu,
la figure suivante illustre le syst`eme de reconnaissance.
47
Figure 2.20 – Syst`eme de Reconnaissance de la seconde m´ethode.
2.3.1 Repr´esentation des objets
La repr´esentation d’objets est bas´ee sur l’utilisation de la distributions des couleurs de
l’objet, les couleur associ´es `a un objet sp´ecifique sont uniques. Un fruit, un arbre, un panneaux
routier, une chaise ... etc. Chacun de ces objets `a une certaine distribution des couleurs qui
lui est associ´e. L’opacit´e des objets peut ˆetre aussi une caract´eristique discriminative pour
une instance donn´ee d’un objet. Nous avons d´ecrit un objet `a l’aide des composantes RGBα,
ou alpha est l’information d’opacit´e. le processus du calcul du descripteur est d´ecrit comme
suit :
Normalisation
La normalisation est une ´etape essentielle, les couleurs peuvent varier, le moindre chan-
gement de couleur change donc la d´efinition du descripteur. Pour cela nous proposons la
formule suivante pour normaliser les couleurs.
E(Cx/D) ∗ D + D/2
E d´esigne la partie enti`ere, D repr´esente la quantification utilis´ee, elle d´esigne la limitation
du nombre de couleurs diff´erentes que peu prendre une couleur. cette normalisation permet
`a diff´erentes plages de valeurs d’avoir la mˆeme composante couleur. il s’agit de r´eduire le
nombre de couleur possible.
Signature
Une fois les couleurs extraites, nous proc´edons au calcul des fr´equences d’apparition de
celles ci, non pas de la mani`ere d’un histogramme car la structure d’un dictionnaire est
diff´erentes de celle d’un histogramme et permet de d´efinir autrement les occurrences des
48
couleurs. Le dictionnaire est stock´e sous forme de table de hachage ceci permet l’acc`es directe
aux donn´ees (complexit´e o(1)).
2.3.2 Construction du mod`ele
Cette ´etape permet de construire un mod`ele `a partie d’une base d’image nous calculons
uns signature pour chaque objet de la base de la mani`ere suivante :
Donn´ees : Bg :Image de fond. Fg :Image de la base avec objet.
R´esultat : d3 :Descripteur de l’objet.
Debut
1. Cr´eer les signatures des deux images Fg et Bg, d1 et d2 d´esigne dans l’ordre les
descripteur de Fg et Bg.
pour tout entr´ee C dans d2 faire
si C n’existe pas dans d1 alors
Ajouter C `a d3 avec freq(C)
fin
sinon
/* si la couleur existe v´erifier si fr´equence est sup´erieur `a un
certain seuil. */
si freq(C) dans d2 est >= `a seuil*freq(C) d1 alors
Ajouter C `a d3 avec freq(C)
fin
fin
fin
Fin
Algorithme 8: Algorithme de la premi`ere m´ethode.
Une fois notre mod`ele construit, nous pouvons proc´eder `a la reconnaissance la d´emarche est
diff´erentes de la premi`ere approche ( 1-Chebychev) nous cherchons a reconnaitre les objets du
mod`ele de plus nous n’utilisons pas les techniques d’apprentissage automatique. Il s’agit de
reconnaitre les instances d’objets et non des cat´egories d’objets. Cela dit si le mod`ele contient
assez d’exemples d’instances nous pourrions consid´erer un ensemble d’instances portant le
mˆeme label (la mˆeme cat´egorie) comme formant un sous ensemble d’une cat´egorie.
Dans l’absolue ceci ne mod´elise pas r´eellement la cat´egorie, mais en pratique cela semble
int´eressant et compl´ementaire. la dualit´e entre instances et cat´egories pourrait ˆetre d´epass´ee.
En effet des m´ethodes d’aujourd’hui ne s’int´eresse qu’`a trouver une cat´egorie bien particuli`ere,
exemple : voiture, pi´etons, visages. Et dans le cas des instances les syst`emes ne reconnaissent
qu’un objet particulier `a un instant donn´ee. Nous pr´esentons une forme interm´ediaire aux
deux aspects de la reconnaissance (instance et cat´egorie).
Un autre point important est que cette mani`ere de proc´eder ´elimine le probl`eme de la va-
riabilit´e intercalasse ainsi que le probl`eme de similarit´e interclasse. Le fait d’ˆetre aussi pr´ecis
dans la description d’un instance d’objet ´elimine ces probl`emes par exemple : deux objets ap-
partenant `a la mˆeme cat´egorie pourtant diff´erents obtiennent des descripteurs diff´erents, mais
49
puisqu’ils porte le mˆeme label donc les objets seront retrouv´es, et inversement si deux objets
n’appartiennent pas `a la mˆeme cat´egories peuvent ˆetre similaire et avoir des descripteurs
proches nous pouvons tout de mˆeme les distingu´es.
2.3.3 Appariement
Une fois mod`ele construit nous devons faire la correspondance entre les objets d’une sc`ene
et le mod`ele . Nous expliquons dans ce qui suit notre d´emarche quant au Matching.
Ayant une nouvelle image d’une sc`ene nous proc´edons tout d’abord au calcul de sa si-
gnature de la mˆeme mani`ere d´ecrite pr´ec´edemment. Donc nous calculons les fr´equences des
couleurs normalis´ee de toute la sc`ene, nous obtenons alors un dictionnaire des couleurs de la
sc`ene.
Donn´ees : I :Image de la sc`ene.
R´esultat : L :liste d’objets pr´esents dans la sc`ene.
Debut
Cmp : compteur /* afin de calculer le pourcentage de valeurs existantes.
*/
1. Cr´eer ds la signature de I. /* Charger le fichier descripteur de la base. */
pour tout descripteur d faire
pour tout entr´ee C dans d faire
si C existe dans ds alors
Cmp=Cmp+1 /* incr´ementer */
fin
fin
si Cmp / taille d > seuil alors
L< −− Label(d)
fin
fin
Fin
Algorithme 9: Algorithme de Matching.
2.3.4 Localisation des objets
La localisation des objets est appliqu´ee par la m´ethode des fenˆetres glissante, cette
m´ethode consiste `a parcourir l’image avec une fenˆetre rectangulaire balayant ainsi toute
l’image. La signature de chaque fenˆetre est alors calcul´ee pour d´eterminer la pr´esence des
objets reconnus.
50
Tel qu’est d´efinit notre descripteur, la d´etection et reconnaissances d’objets pr´esente les
avantages suivants :
• Il est robuste `a la rotation, aux changement de point de vue, ainsi qu’aux changement
d’´echelle. Notre syst`eme permet la d´etection d’objet partiellement occult´es ceci est
rendu possible grˆace au seuil utilis´e pour la matching (voir section pr´ec´edente).
• un autre avantage est la rapidit´e du calcul des descripteurs ainsi que la rapidit´e dans
la phase de Mathcing.
La m´ethode cependant rencontre les inconv´enients que nous ´enum´erons comme suit :
• Morphologie : la couleur `a elle seule ne permet pas de retrouver l’objet il est possible
que les couleurs d’un objet se trouve dans la sc`ene alors que l’objet n’y est pas pr´esent,
il faut donc d´efinir une relation spatiales entre les points des objets.
• La localisation des objets avec la m´ethodes des fenˆetres glissantes est couteuse en temps
de calcul.
Nous proposons une am´elioration afin de pallier `a ces probl`emes en int´egrant l’information
spatiales de l’objet. Cette fois ci nous modifions les descripteurs en ajoutant les informations
suivantes :
Nous calculons d’abord le centre de l’image d’apprentissage, puis nous calculons certaines
caract´eristiques de ce centre, ces caract´eristiques sont la couleur et le gradient. Le centre de
l’image d’apprentissage ne repr´esente pas le centre de l’objet mais un point de l’objet.
Le gradient test calcul´e avec le masque suivant :
De plus nous choisissons 8 points,que nous deffinissons comme suit : Nous avons choisis 4
points du contours qui co¨ıncide avec les deux axes de l’image horizontal est vertical passant
par le centre O nous les notons A, B, C, D (list´ee en rouge dans la figure 2.21).
51
Figure 2.21 – Repr´esentation d’un objet en prenant en compte l’information spatiales de
points d´efinis.
Ainsi que les points `a mis distance les long des deux axes a, b, c, d , `a ces points nous
calculons les distances par rapport au centre O ainsi que leurs couleurs nous calculons aussi
un histogramme des normes de gradient des points a, b, c, d le descripteur devient alors :
2.3.5 Localisation
Une fois objet reconnu (pr´esent) dans la sc`ene nous proc´edons `a la localisation de la
mani`ere suivante :
• Chercher tous les points de l’image ayant les mˆemes caract´eristiques (couleur, gradient)
que le centre O.
Figure 2.22 – calcul des points candidats.
52
• Pour d´eterminer les bonnes postions nous utilisant le points suppl´ementaires, ensuite
nous essayons de faire une superposition des 2 axes ( mod`ele de l’objet en constella-
tion ) sur chacun des points candidats extraits pr´ec´edemment toujours en faisant un
appariement en comparent les caract´eristiques calcul´ees pr´ec´edemment.
Figure 2.23 – 2 Superposition des deux axes sur les diff´erents centres possibles, une seule
superposition est correcte.
Il faut n´eanmoins r´egler encore les probl`emes li´es `a l’´echelle ainsi qu’`a la rotation.
L’´echelle : Nous avons proc´ed´e `a une normalisation du vecteur des distances, en multipliant
le vecteur distance par un facteur multiplicatif.
La rotation : Pour r´egler le probl`eme de la rotation, nous avons appliqu´e une rotation au
vecteur des distances car la relation d’ordre entre les points est pr´eserv´ee lors de la rotation.
Ceci pour les quartes angles principaux.
Cette localisation est appliqu´ee `a tous les objets reconnus au pr´ealable. Ce qui la rend
nettement plus rapide, compar´ee `a la m´ethode des fenˆetres glissantes.
2.3.6 Avantages
Le principale avantage de cette approche est la rapidit´e pour des sc`enes complexes et des
images `a haute r´esolution la r´eponse est quasiment instantan´ee.
La localisation des objets est efficace et pr´ecise, ceci revient et ceci sans utiliser de segmen-
tation.
L’approche est robuste aux changement d’´echelle, rotation, ainsi qu’`a l’occlusion.
53
2.4 Conclusion
Dans ce Chapitre, nous avons pr´esent´e en d´etails nos deux approches de d´etection et
reconnaissance d’objets. Le troisi`eme et dernier chapitre sera consacr´e `a la pr´esentation des
r´esultats obtenus qui seront soumis aux crit`eres de temps d’ex´ecution et celui de la pr´ecision
pour valider nos approches.
54
Chapitre 3
Impl´ementation
Sommaire
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.2 Environnement mat´eriel . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3 Pr´esentation de la base d’apprentissage . . . . . . . . . . . . . . 57
3.3.1 Base de donn´ees COIL-100 . . . . . . . . . . . . . . . . . . . . . . 57
3.3.2 Base de donn´ees ETH-80 . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.3 Acquisition des deux bases . . . . . . . . . . . . . . . . . . . . . . 59
3.4 Pr´esentation de l’interface graphique . . . . . . . . . . . . . . . . 59
3.4.1 Premi`ere Approche . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4.2 Deuxi`eme approche . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.4.3 Troisi`eme approche . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5 Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.5.1 Choix de la fonction du noyau . . . . . . . . . . . . . . . . . . . . 68
3.5.2 Principe de l’apprentissage . . . . . . . . . . . . . . . . . . . . . . 70
3.6 Exp´erimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.6.1 Matrice de confusion . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.6.2 Fonction d’efficacit´e du r´ecepteur ROC . . . . . . . . . . . . . . . 74
3.6.3 Taux de la reconnaissance des deux bases . . . . . . . . . . . . . . 75
3.6.4 Rappel et pr´ecision . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
55
3.1 Introduction
Dans ce chapitre, nous allons tout d’abord d´ecrire l’environnement mat´eriel et logiciel de
notre application, nous enchaˆınerons par la suite avec la pr´esentation d´etaill´ee de l’interface
d´evelopp´ee et son fonctionnement, enfin nous terminerons par pr´esenter les r´esultats obtenus
par les tests exp´erimentaux effectu´es.
3.2 Environnement de travail
La structure de l’environnement de d´eveloppement de notre application est structur´ee
comme suit :
3.2.1 Environnement logiciel
Nous avons d´evelopp´e notre application `a l’aide des langages de programmations .NET,
dont nous citons :
• C# : qui est un langage orient´e objet de type s´ecuris´e et ´el´egant qui permet aux
d´eveloppeurs de g´en´erer diverses applications fiables qui s’ex´ecutent sur le .NET Fra-
mework.
• Visual basic : con¸cu par Microsoft `a la fin des ann´ees 1990 [31], le Visual basic est
un des langages de programmation les tr`es utilis´es dans le monde. Les programmes
bien r´edig´es en Visual basic sont rapides et efficaces. Plus flexible, ce langage permet
l’utilisation d’une large gamme d’application scientifique de hautes performances.
Nous avons opt´e pour l’utilisation de ces deux langages car ils s’adaptent tr`es bien au
domaine de traitement d’image.
Nous avons choisi la biblioth`eque EMGU CV comme ´etant la biblioth`eque graphique sur
laquelle nous appliquons nos diff´erents traitements d’images. EMGU est une biblioth`eque
libre sp´ecialis´e dans le domaine de l’imagerie num´erique et le syst`eme de vision par ordina-
teur dans un environnement .NET.
Pour la conception de notre application et son interface graphique, nous avons utilis´e Visuel
studio 2012 version ´etudiant, qui fournit un ´editeur de code avanc´e, des concepteurs d’inter-
faces utilisateur pratiques, un d´eboguer int´egr´e et de nombreux autres outils pour faciliter le
d´eveloppement d’applications bas´ees sur le langage.NET Framework.
3.2.2 Environnement mat´eriel
Nous avons d´evelopp´e notre application sur deux machines qui ont pratiquement les
mˆemes configurations suivantes :
• Microprocesseur Intel Core i7 de fr´equence 2.4 de 4`eme g´en´eration ;
• M´emoire vive RAM 8 Gb ;
• Microsoft Windows 7 version 64 bits.
56
3.3 Pr´esentation de la base d’apprentissage
L’objectif de notre travail est de proposer une nouvelle approche pour la d´etection d’objets
dans une sc`ene. Pour pouvoir r´ealiser cela, il nous a fallu r´ecolter des bases d’images portant
sur le sujet.
Dans cette section, nous d´ecrivons les caract´eristiques des bases de donn´ees utilis´ees ainsi nous
allons pr´esenter quelques exp´eriences dans lesquelles la performance de plusieurs m´ethodes
sont compar´ees et discuter les r´esultats empiriques obtenus.
3.3.1 Base de donn´ees COIL-100
La base de donn´ees sur laquelle nous avons appliqu´e l’algorithme d’apprentissage est
Columbia Object Image Library (COIL) , [32] . Cette base contient 7200 images en couleurs
de 100 objets diff´erents (72 images par objet), o`u les images des objets ont ´et´e prises `a des
intervalles de pose de 5 degr´es. Les images ont aussi ´et´e normalis´ees tel qui le plus grand des
deux dimensions de l’objet (hauteur et largeur) soit ´egale `a 128 x 128 pixels. Les objets ont
une grande vari´et´e de g´eom´etrie complexe et de caract´eristiques diff´erents, la figure ci-dessous
montre les 100 objets de la base prises en vue frontale.
Figure 3.1 – Objets de la base de donn´ees Columbia Object Image Library.
57
3.3.2 Base de donn´ees ETH-80
La base d’images ETH-80 [33] Zurich contient un ensemble d’objets naturels et artificiels
organis´es en huit cat´egories qui sont respectivement : Pomme, tomate, chien, cheval, vache,
voitures, poire et verre. Pour chaque cat´egorie d’objets, dix objets diff´erents sont fournis, o`u
chaque objet est repr´esent´e par 41 images diff´erentes qui sont prises par un multiple point
de vus diff´erents. Cela r´esulte un ensemble de 3280 images.
Figure 3.2 – Objets de la base de donn´ees ETH-80.
58
3.3.3 Acquisition des deux bases
• COIL-100 : Chaque objet a ´et´e plac´e dans une configuration stable `a peu pr`es au centre
d’une plaque tournante, La table tournante a ´et´e tourn´e de 360 degr´es et 72 images ont
´et´e prises par objet (une image chaque 5 d´egr´ees de la rotation).
• ETH-80 : De mˆeme pour cette base d’images, o`u chaque objet a ´et´e plac´e dans une
table tournante, avec l’exception de l’utilisation de plusieurs cam´eras chacune d’elles
prend d’autres images diff´erentes de l’objet.
Figure 3.3 – Acquisition de la base COIL-100.
3.4 Pr´esentation de l’interface graphique
L’application qui permet d’effectuer les diff´erentes tˆaches de la d´etection d’objets est
con¸cue de telle mani`ere `a faciliter l’interaction avec l’utilisateur. Nous avons d´evelopp´e deux
approches dont l’interface et son explication sont pr´esent´ees dans ce qui suit :
3.4.1 Premi`ere Approche
D´etection et reconnaissance d’objets en utilisant les moments de Chebyshev.
• Interface d’accueil
59
Figure 3.4 – Interface d’accueil l’application.
L’interface principale est devis´ee en trois parties, de gauche `a droite nous remarquons
l’ensemble des boutons permettant l’interaction avec l’application ainsi que ses diff´erentes
fonctionnalit´es que nous allons expliquer ult´erieurement. Ensuite, nous affichons les traces
de l’ex´ecution pour donner plus de d´etails sur le processus ainsi que les diff´erent temps de
calculs. La troisi`eme partie permet de visualiser les r´esultats de la d´etection, la segmentation
et la reconnaissance des objets de l’image de la sc`ene.
Avant de commencer, nous devons tout d’abord choisir l’une des bases, COIL-100 ou ETH-
80.
Figure 3.5 – Choix d’une base de donn´ees.
En cliquant sur le bouton ‘Parcourir l’image’, une fenˆetre s’affiche pour choisir l’image de
la sc`ene.
60
Figure 3.6 – Choix de l’image de la sc`ene.
Une fois l’image est charg´ee, on l’affiche dans notre interface comme illustr´ee par la figure
ci-dessous, ainsi on peut commencer le traitement.
Figure 3.7 – Affichage de l’image de la sc`ene
61
La tˆache de la d´etection d’objets est bas´e sur trois ´etapes indispensable : la cr´eation du
descripteur de l’image, la segmentation, la reconnaissance.
Segmentation
Nous commen¸cons par la segmentation en utilisant notre m´ethode de segmentation am´elior´ee
(voir le chapitre II pour plus d’informations), en cliquant sur le bouton Segmentation ,
le r´esultat de la segmentation est affich´e comme suit :
Figure 3.8 – Segmentation de l’image.
Reconnaissance
La prochaine ´etape est la reconnaissance des objets dans la sc`ene apr`es sa segmentation,
Cette ´etape se d´eroule en trois parties qui sont :
• Extraction des objets de la sc`ene ;
• Calcul des descripteurs de chaque objet `a l’aide des moments de Chebyshev ;
• Introduire les descripteurs comme entr´ee dans la fonction de reconnaissance ;
• Phase de reconnaissance des objets qui est fait apr`es l’apprentissage des bases (voir la
deuxi`eme partie de ce chapitre pour plus d’informations sur le processus d’apprentis-
sage).
62
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images
Object detection and recognition in digital images

Contenu connexe

Tendances

Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij Mekki
Ameny Khedhira
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
Mohamed Boubaya
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
Quentin Ambard
 
Rapport de sprint finale (All Project part)
Rapport de sprint finale (All Project part)Rapport de sprint finale (All Project part)
Rapport de sprint finale (All Project part)
Ghodbane Heni
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
Ayoub Mkharbach
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Yasmine Lachheb
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme Android
Khaled Fayala
 
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Nawres Farhat
 
PFE Master.pdf
PFE Master.pdfPFE Master.pdf
PFE Master.pdf
SALOUALAGNAOUI1
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
Donia Hammami
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
IbtissemSlimeni
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
Donia Hammami
 
pfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdfpfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdf
nesrine haloui
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
Ilef Ben Slima
 
Rapport de projet de fin d’étude
Rapport  de projet de fin d’étudeRapport  de projet de fin d’étude
Rapport de projet de fin d’étude
OumaimaOuedherfi
 
Conception et développement d’un système d’alerte et notification d’une tou...
Conception et développement  d’un système d’alerte et notification  d’une tou...Conception et développement  d’un système d’alerte et notification  d’une tou...
Conception et développement d’un système d’alerte et notification d’une tou...
Bilel Khaled ☁
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'été
JinenAbdelhak
 

Tendances (20)

Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij Mekki
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
Rapport de sprint finale (All Project part)
Rapport de sprint finale (All Project part)Rapport de sprint finale (All Project part)
Rapport de sprint finale (All Project part)
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme Android
 
Rapport
RapportRapport
Rapport
 
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
 
PFE Master.pdf
PFE Master.pdfPFE Master.pdf
PFE Master.pdf
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
pfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdfpfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdf
 
Pfe 2015
Pfe 2015Pfe 2015
Pfe 2015
 
PFE_Report
PFE_ReportPFE_Report
PFE_Report
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Rapport de projet de fin d’étude
Rapport  de projet de fin d’étudeRapport  de projet de fin d’étude
Rapport de projet de fin d’étude
 
Conception et développement d’un système d’alerte et notification d’une tou...
Conception et développement  d’un système d’alerte et notification  d’une tou...Conception et développement  d’un système d’alerte et notification  d’une tou...
Conception et développement d’un système d’alerte et notification d’une tou...
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'été
 

Similaire à Object detection and recognition in digital images

Mémoire.pdf
Mémoire.pdfMémoire.pdf
Mémoire.pdf
MOHAMEDAITBLAL
 
Cours matlab
Cours matlabCours matlab
Cours matlab
mohamednacim
 
notes-de-cours-de-fouille-de-donnees.pdf
notes-de-cours-de-fouille-de-donnees.pdfnotes-de-cours-de-fouille-de-donnees.pdf
notes-de-cours-de-fouille-de-donnees.pdf
CoulibalyYoussoufngo
 
Base-de-données.pdf
Base-de-données.pdfBase-de-données.pdf
Base-de-données.pdf
djallel2
 
2009 these servant (1)
2009 these servant (1)2009 these servant (1)
2009 these servant (1)bessem ellili
 
Manuel du module additionnel RF-LAMINATE pour RFEM
Manuel du module additionnel RF-LAMINATE pour RFEMManuel du module additionnel RF-LAMINATE pour RFEM
Manuel du module additionnel RF-LAMINATE pour RFEM
Grégoire Dupont
 
METHODES NUMERIQUES.pdf
METHODES NUMERIQUES.pdfMETHODES NUMERIQUES.pdf
METHODES NUMERIQUES.pdf
KhaledHAMDAOUI4
 
Tp sgbd gsi
Tp sgbd gsiTp sgbd gsi
Tp sgbd gsi
saqrjareh
 
rapport_stage_TBLB.pdf
rapport_stage_TBLB.pdfrapport_stage_TBLB.pdf
rapport_stage_TBLB.pdf
fatimazahrakherazi
 
Cours base données
Cours base donnéesCours base données
Cours base donnéeskerosina
 
LatexPourLeProfDeMaths.pdf
LatexPourLeProfDeMaths.pdfLatexPourLeProfDeMaths.pdf
LatexPourLeProfDeMaths.pdf
Wafaa Ibrihich
 
Analyses factorielles.pdf
Analyses factorielles.pdfAnalyses factorielles.pdf
Analyses factorielles.pdf
ahmed92358
 
Dimensionnement d'un Tour (IGH) R+17 sous Eurocodes
Dimensionnement d'un Tour (IGH)  R+17 sous Eurocodes Dimensionnement d'un Tour (IGH)  R+17 sous Eurocodes
Dimensionnement d'un Tour (IGH) R+17 sous Eurocodes
Souhail Bouzidi
 
Rapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaRapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben Slima
Ilef Ben Slima
 
rapport de stage.
rapport de stage.rapport de stage.
rapport de stage.wajdi1985
 
graphe.pdf
graphe.pdfgraphe.pdf
graphe.pdf
ThilelliDries
 

Similaire à Object detection and recognition in digital images (20)

Algo
AlgoAlgo
Algo
 
Mémoire.pdf
Mémoire.pdfMémoire.pdf
Mémoire.pdf
 
Cours matlab
Cours matlabCours matlab
Cours matlab
 
notes-de-cours-de-fouille-de-donnees.pdf
notes-de-cours-de-fouille-de-donnees.pdfnotes-de-cours-de-fouille-de-donnees.pdf
notes-de-cours-de-fouille-de-donnees.pdf
 
Base-de-données.pdf
Base-de-données.pdfBase-de-données.pdf
Base-de-données.pdf
 
2009 these servant (1)
2009 these servant (1)2009 these servant (1)
2009 these servant (1)
 
Memoire_final
Memoire_finalMemoire_final
Memoire_final
 
Manuel du module additionnel RF-LAMINATE pour RFEM
Manuel du module additionnel RF-LAMINATE pour RFEMManuel du module additionnel RF-LAMINATE pour RFEM
Manuel du module additionnel RF-LAMINATE pour RFEM
 
defour phd
defour phddefour phd
defour phd
 
METHODES NUMERIQUES.pdf
METHODES NUMERIQUES.pdfMETHODES NUMERIQUES.pdf
METHODES NUMERIQUES.pdf
 
Tp sgbd gsi
Tp sgbd gsiTp sgbd gsi
Tp sgbd gsi
 
rapport_stage_TBLB.pdf
rapport_stage_TBLB.pdfrapport_stage_TBLB.pdf
rapport_stage_TBLB.pdf
 
Cours base données
Cours base donnéesCours base données
Cours base données
 
LatexPourLeProfDeMaths.pdf
LatexPourLeProfDeMaths.pdfLatexPourLeProfDeMaths.pdf
LatexPourLeProfDeMaths.pdf
 
LIPADE_Report
LIPADE_ReportLIPADE_Report
LIPADE_Report
 
Analyses factorielles.pdf
Analyses factorielles.pdfAnalyses factorielles.pdf
Analyses factorielles.pdf
 
Dimensionnement d'un Tour (IGH) R+17 sous Eurocodes
Dimensionnement d'un Tour (IGH)  R+17 sous Eurocodes Dimensionnement d'un Tour (IGH)  R+17 sous Eurocodes
Dimensionnement d'un Tour (IGH) R+17 sous Eurocodes
 
Rapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaRapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben Slima
 
rapport de stage.
rapport de stage.rapport de stage.
rapport de stage.
 
graphe.pdf
graphe.pdfgraphe.pdf
graphe.pdf
 

Object detection and recognition in digital images

  • 1. Table des mati`eres 1 D´etection et Reconnaissance d’Objets 8 1.1 Vision par ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Un peu d’histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 D´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4 Probl´ematique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5 Repr´esentation d’images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5.1 M´ethodes de repr´esentation globales . . . . . . . . . . . . . . . . . . 13 1.5.2 M´ethodes de repr´esentation locales . . . . . . . . . . . . . . . . . . . 13 1.6 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.6.1 k plus proches voisins . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.6.2 Arbres de d´ecision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.6.3 Machines `a vecteurs de support . . . . . . . . . . . . . . . . . . . . . 15 1.6.4 Mod`eles graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.6.5 Les mod`eles `a variables latentes d’aspect . . . . . . . . . . . . . . . . 16 1.6.6 R´eseaux de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.6.7 Boosting : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7 ´Etat de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2 Conception 26 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.2 Approche 1 : 1-Chebychev . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2.1 La segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2.2 Repr´esentation de l’image . . . . . . . . . . . . . . . . . . . . . . . . 40 2.2.3 Reconnaissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.3 Approche Couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.3.1 Repr´esentation des objets . . . . . . . . . . . . . . . . . . . . . . . . 48 2.3.2 Construction du mod`ele . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.3.3 Appariement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.3.4 Localisation des objets . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.3.5 Localisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.3.6 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 1
  • 2. 3 Impl´ementation 55 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2.1 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2.2 Environnement mat´eriel . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.3 Pr´esentation de la base d’apprentissage . . . . . . . . . . . . . . . . . . . . 57 3.3.1 Base de donn´ees COIL-100 . . . . . . . . . . . . . . . . . . . . . . . . 57 3.3.2 Base de donn´ees ETH-80 . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.3.3 Acquisition des deux bases . . . . . . . . . . . . . . . . . . . . . . . . 59 3.4 Pr´esentation de l’interface graphique . . . . . . . . . . . . . . . . . . . . . . 59 3.4.1 Premi`ere Approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.4.2 Deuxi`eme approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.4.3 Troisi`eme approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.5 Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.5.1 Choix de la fonction du noyau . . . . . . . . . . . . . . . . . . . . . . 68 3.5.2 Principe de l’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . 70 3.6 Exp´erimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.6.1 Matrice de confusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.6.2 Fonction d’efficacit´e du r´ecepteur ROC . . . . . . . . . . . . . . . . . 74 3.6.3 Taux de la reconnaissance des deux bases . . . . . . . . . . . . . . . . 75 3.6.4 Rappel et pr´ecision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Bibliographie 87 2
  • 3. Table des figures 1.1 Exemple d’Objets sp´ecifiques. Gauche : Carl Gauss. Droite : le Taj Mahal. . 9 1.2 Exemple de cat´egories d’objets. . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Gauche :Exemple de variabilit´e intra-classe de la cat´egorie chaise. Droite : Cet objet `a l’apparence ´etrange est une chaise de par sa fonction. . . . . . . . . . 11 1.4 Gauche : Exemple d’occlusion. Droite : Exemple de changement de point de vue et rotation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5 Reconnaissance bas´e mod`eles . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.6 A gauche la classification, est simple quel que soit le nombre de voisins.A droite, revanche tout d´epend du nombre de voisin l’affectation `a une classe est pond´er´ee par la distance, plus un voisin est ´eloign´e, plus son influence est faible. 14 1.7 Exemple de classification avec arbre de d´ecision. . . . . . . . . . . . . . . . . 15 1.8 Exemple de classification avec AdaBoost. . . . . . . . . . . . . . . . . . . . . 18 1.9 a) L.G.Roberts. b) Sc`ene de blocks. c) Fronti`eres extraites `a l’aide du gradient. d) Description polyhedral de la sc`ene. e) Sc`ene 3D avec changement de point de vue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.10 Repr´esentation des objets par les cylindres g´en´eralis´es. a) Thomas Binford. b)Image de la gamme d’une poup´ee. c) Cylindres g´en´eralis´es obtenues. . . . 20 1.11 Graphe d’aspects. Deux vues d’un objet, les diff´erentes projections forment un graphe d’adjacence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.12 Repr´esentation des objets `a l’aide des geons. . . . . . . . . . . . . . . . . . . 21 1.13 Mod`ele utilis´e par Fischler et Elschlager pour mod´eliser le visage Figure pro- venant de [1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.1 Syst`eme de reconnaissance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2 R´esultat de segmentation avec DBscan globale. Gauche : Image originale. Droite : Image segment´ee labellis´ee. . . . . . . . . . . . . . . . . . . . . . . . 30 2.3 R´esultat de segmentation avec DBscan locale en utilisant les niveaux de gris. Gauche : Image en niveau de gris. Droite : Image labellis´ee, nous obtenons une sur-segmentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4 Gauche : Image convertit dans l’´eespace HSV. Droite :R´esultat de segmenta- tion avec DBscan locale en utilisant la Teinte. . . . . . . . . . . . . . . . . . 32 2.5 Gauche : Rsultat de segmentation avec DBscan locale en utilisant le Teinte. Droite : Localisation des objets. . . . . . . . . . . . . . . . . . . . . . . . . . 32 3
  • 4. 2.6 Gauche : Image convertit dans l’espace HSV. Milieu :R´esultat de segmentation avec DBscan locale en utilisant la Teinte. Droite :R´esultat de segmentation l’objet n’est pas d´etect´e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.7 Organigramme de la m´ethode. . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.8 Repr´esentation des minimums et maximums locaux sur l’histogramme. . . . 34 2.9 Bas : Extraction des minimums et maximums locaux `a partir de l’histogramme. 35 2.10 Gauche : Image binaris´ee. Droite :Histogramme des niveaux de gris ainsi que les seuils min et max en rouge. . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.11 Image binaris´ee apr`es ´erosion. . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.12 Image binaris´ee apr`es dilatation puis inversion. . . . . . . . . . . . . . . . . . 37 2.13 Superposition des deux images pr´ec´edentes. . . . . . . . . . . . . . . . . . . 38 2.14 ´Etapes de segmentation d’objets : les r´egions marqu´es en blanc s’´etendent jusqu’aux fronti`eres des objets. . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.15 R´esultats de la segmentation. -Gauche : fronti`eres des objets. -Milieu :Segmen- tation des objets. Droite : r´esultat final, extraction des objets. . . . . . . . . 40 2.16 Reconstruction `a diff´erents ordres avec notre calcul des moments ainsi qu’avec le calcul classique de ceux ci. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.17 L’effet de la rotation sur les descripteurs `a diff´erents ordres. . . . . . . . . . 44 2.18 Influence de l’ordre et la rotation sur le calcul des moments. . . . . . . . . . 46 2.19 R´esultat de segmentation dans une sc`ene r´eelle. Gauche : Image de la sc`ene. Droite : Image segment´ee, mˆeme si nous arrivons `a extraire les objets du fond, nous ne pouvons les distinguer. . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.20 Syst`eme de Reconnaissance de la seconde m´ethode. . . . . . . . . . . . . . . 48 2.21 Repr´esentation d’un objet en prenant en compte l’information spatiales de points d´efinis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.22 calcul des points candidats. . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.23 2 Superposition des deux axes sur les diff´erents centres possibles, une seule superposition est correcte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.1 Objets de la base de donn´ees Columbia Object Image Library. . . . . . . . . 57 3.2 Objets de la base de donn´ees ETH-80. . . . . . . . . . . . . . . . . . . . . . 58 3.3 Acquisition de la base COIL-100. . . . . . . . . . . . . . . . . . . . . . . . . 59 3.4 Interface d’accueil l’application. . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.5 Choix d’une base de donn´ees. . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.6 Choix de l’image de la sc`ene. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.7 Affichage de l’image de la sc`ene . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.8 Segmentation de l’image. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.9 Reconnaissance d’objets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.10 Interface d’accueil de la deuxi`eme approche . . . . . . . . . . . . . . . . . . . 64 3.11 Apprentissage d’un objet avec la deuxi`eme m´ethode . . . . . . . . . . . . . . 64 3.12 Reconnaissance des objets avec la deuxi`eme m´ethode . . . . . . . . . . . . . 65 3.13 l’interface d’accueil de la troisi`eme approche. . . . . . . . . . . . . . . . . . . 66 3.14 Le choix entre les deux m´ethodes de SURF . . . . . . . . . . . . . . . . . . . 66 3.15 choix de l’image de la sc`ene et de l’objet `a trouver. . . . . . . . . . . . . . . 67 3.16 R´esultat de la d´etection hors ligne. . . . . . . . . . . . . . . . . . . . . . . . 67 4
  • 5. 3.17 R´esultat de la d´etection en ligne. . . . . . . . . . . . . . . . . . . . . . . . . 68 3.18 Comparaison entre les fonctions de noyau. . . . . . . . . . . . . . . . . . . . 69 3.19 Comparaison des m´ethodes : (a) l’image original en RGB ; (b) l’image original appliqu´e avec Canny ; (c) l’image reconstruite par la m´ethode classique ;(d) l’image reconstruite par notre m´ethode. . . . . . . . . . . . . . . . . . . . . 71 3.20 Etude comparative sur les temps d’ex´ecution et l’apprentissage. . . . . . . . 72 3.21 Etude comparative sur la pr´ecision de la reconnaissance avec et sans couleur. 73 3.22 Courbe ROC obtenu pour les dix objets. . . . . . . . . . . . . . . . . . . . . 74 3.23 Etude comparative sur la pr´ecision de la reconnaissance avec les diff´erentes m´ethodes de calcul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.24 Image de sc`ene r´eelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.25 ´etude comparative sur la pr´ecision, le rappel et F-Mesure entre la deuxi`eme et la troisi`eme m´ethode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.26 ´etude comparative sur le temps de calcule entre la deuxi`eme et la troisi`eme m´ethode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5
  • 6. Liste des Algorithmes 1 Algorithme de la premi`ere m´ethode. . . . . . . . . . . . . . . . . . . . . . . . 29 2 Proc´edure de Clusterisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3 Algorithme de la deuxi`eme m´ethode. . . . . . . . . . . . . . . . . . . . . . . . 31 4 Algorithme de Binarisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5 Algorithme d’extraction de seuils pour la Binarisation. . . . . . . . . . . . . . 36 6 Algorithme de Segmentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7 Algorithme de la rotation 1-Chebychev. . . . . . . . . . . . . . . . . . . . . . 45 8 Algorithme de la premi`ere m´ethode. . . . . . . . . . . . . . . . . . . . . . . . 49 9 Algorithme de Matching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6
  • 7. Introduction La vision par ordinateur est une branche de l’intelligence artificielle qui se concentre sur l’extraction d’information utile contenue dans une image. Durant les derni`eres d´ecennies, un grand nombre d’approches innovants ont ´et´e d´evelopp´es dans ce but. Ces recherches ont permis d’atteindre des taux de reconnaissance appr´eciables sur de nombreuses bases de donn´ees de test. Ces m´ethodes extraient une repr´esentation de l’image sous forme de descripteurs. Elles utilisent ensuite l’apprentissage automatique (Machine Learning) pour traiter ces descripteurs et obtenir le r´esultat recherch´e comme, par exemple, la reconnaissance des objets pr´esents dans l’image. Nous proposons dans ce m´emoire une ´etude sur le th`eme de la d´etection d’obstacles, il comportera trois chapitres : Chapitre 1 : D´etection et reconnaissance d’objets : Ce m´emoire aborde tout d’abord de mani`ere g´en´erale les th`emes de la vision par ordinateur et de ses domaines d’application. Il dresse une synth`ese de l’´etat de l’art des syst`emes de d´etection et reconnaissance d’objets les diff´erents descripteurs d’objets ainsi que diverses m´ethodes de classification. Avant de s’int´eresser plus en d´etail `a la m´ethode d´evelopp´ee au cours de ce travail de fin d’´etudes. Chapitre 2 : Conception :Dans la deuxi`eme partie de ce document nous avons d´ecrit les diff´erentes ´etapes de la mise en œuvre de nos approches d´evelopp´ees, en commen¸cant par les m´ethodes de segmentation d’objets, nous d´etaillerons par la suite la proc´edure de la construction des descripteurs bas´e moments de Chebyshev comme premi`ere approche, et bas´e distribution des couleurs dans l’espace RBGa comme deuxi`eme approche. Chapitre 3 : Impl´ementation : Nous commen¸cons dans ce dernier chapitre par d´ecrire l’environnement de travail qui nous a permis d’impl´ementer nos approches. Nous entamons par la suite la description des diff´erentes interfaces de l’application, puis nous avons expos´e les r´esultats obtenus par les diff´erentes approches de d´etection, en termes de temps d’ex´ecution et de taux de reconnaissance , pour donner une id´ee comparative de l’aspect pratique de nos m´ethodes. 7
  • 8. Chapitre 1 D´etection et Reconnaissance d’Objets Sommaire 1.1 Vision par ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Un peu d’histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 D´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4 Probl´ematique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5 Repr´esentation d’images . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5.1 M´ethodes de repr´esentation globales . . . . . . . . . . . . . . . . . 13 1.5.2 M´ethodes de repr´esentation locales . . . . . . . . . . . . . . . . . . 13 1.6 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.6.1 k plus proches voisins . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.6.2 Arbres de d´ecision . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.6.3 Machines `a vecteurs de support . . . . . . . . . . . . . . . . . . . . 15 1.6.4 Mod`eles graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.6.5 Les mod`eles `a variables latentes d’aspect . . . . . . . . . . . . . . . 16 1.6.6 R´eseaux de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.6.7 Boosting : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7 ´Etat de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.1 Vision par ordinateur La discipline qui vise `a automatiser la compr´ehension des images est la Vision par Or- dinateur. D’autres appellations existent notamment Vison artificielle ou Vision cognitive, cette branche de l’intelligente artificielle `a pour objectif de permettre aux machines de com- prendre le contenu des images (ce que la machine voit !). Cette discipline se divise en plusieurs domaines et application : Reconstruction 3D, Segmentation, Analyse du mouvement, recon- naissance de formes, traitement d’images. On comprend que les applications sont nombreuses, 8
  • 9. celles-ci cit´ees le sont `a titre d’exemple, elles ne constituent pas une liste exhaustive mais donnent une id´ee des objectifs de ce domaine. 1.2 Un peu d’histoire En 1966 Marvin Minsky chercheur au MIT assigne pour projet, `a un ´etudiant de premier cycle la tˆache de raccorder une camera `a un ordinateur et que la machine devait ”d´ecrire ce qu’elle voit”. [2] Tr`es vite l’on s’aper¸coit de la difficult´e du probl`eme. Pr`es de cinquante ans apr`es et en d´epit des progr`es r´ealis´es les machines ne sont toujours pas capables d’interpr´eter les images, l’Homme prouve largement sa sup´eriorit´e. Dans ce Chapitre nous nous int´eressons au probl`eme de l’interpr´etation en particuliers au sous probl`eme de la d´etection et reconnaissance d’objets. La plus part des tˆaches li´es `a la vision repose sur la capacit´e `a reconnaitre les objets et leurs cat´egories. Une vari´et´e d’application fait appel `a la reconnaissance et ce dans de nombreux domaines d’intelligence artificielle, par exemple la recherche bas´e sur le contenu d’images, vid´eo mining, d´etection d’objets, assistance `a la conduite. 1.3 D´efinition Un syst`eme de reconnaissance d’objets est un syst`eme qui permet de retrouver des objets du monde r´eel `a partir d’une image du monde,`a l’aide des model´es d’objets qui sont connues a priori. La communaut´e de Vision consid`ere qu’il y a deux types de reconnaissances d’objets : une reconnaissance sp´ecifique et une reconnaissance g´en´erale. Dans la reconnaissance sp´ecifique nous cherchons `a identifier des objets particulier dans une image exemple le portrait de Gauss, le Taj Mahal, une certaine couverture de revue. Figure 1.1 – Exemple d’Objets sp´ecifiques. Gauche : Carl Gauss. Droite : le Taj Mahal. 9
  • 10. En revanche dans la cas de la reconnaissance g´en´erale nous cherchons `a reconnaitre diff´erentes instances de cat´egorie d’objets, appartenant `a la mˆeme classe conceptuelle, exemple ( bˆatiments, automobiles, personnes... etc). Figure 1.2 – Exemple de cat´egories d’objets. Nous nous int´eressons dans ce travail au deuxi`eme type. En particuliers au probl`eme de D´etection d’objets. La D´etection d’objets est une tˆache tr`es similaire `a la reconnaissance d’objets, en effet on pourrait voir le probl`eme de la d´etection comme un probl`eme de re- connaissance dans le sens ou nous cherchons `a distinguer ce qui est objet de ce qui ne l’est pas (le fond) donc il faut reconnaitre ce qu’est un objet,ses caract´eristiques. On pourrait d´efinir la D´etection d’objets comme suit : La tˆache de d´eceler dans une image la pr´esence d’une ou plusieurs cat´egories d’objets. G´en´eralement la tˆache de la DO permet la localisa- tion approximative sous forme de boite englobante. D’un point de vu segmentation la DO permettrait de d´elimiter les fronti`eres des objets, de d´eterminer les pixels appartenant `a un objet et ceux appartenant au fond. 1.4 Probl´ematique Apprendre `a reconnaitre une unique instance d’objet n’est pas suffisant pour bon nombre de probl`emes, nous nous int´eressons ici `a la reconnaissance `a l’´echelle de la cat´egorie. Cepen- dant envisager la reconnaissance de cat´egories pr´esente plusieurs difficult´es. La premi`ere et celle de la d´efinition et de l’organisation de ces cat´egories. Cette question a re¸cu une atten- tion consid´erable dans des travaux notamment dans le domaine de la psychologie cognitive (Brown 1958) [3]. La question du bon d´ecoupage des cat´egories est difficile `a aborder on peut 10
  • 11. trouver des objets ayant une apparence similaire ou une fonction similaire mais appartenant `a des classes diff´erentes, et vice versa. Nous supposerons dans notre travail que les cat´egories sont d´efinies par l’exemple, au moyen de bases d’images. plusieurs autres facteurs li´es aux variations des objets dans les images contribuent aux difficult´es. La plupart des classes d’objets naturels ont des grandes variations au sein de la mˆeme cat´egorie, et l’apparence de deux objets appartenant `a la mˆeme classe peuvent ˆetre diff´erents. Souvent les cat´egories sont d´efinies de fa¸con fonctionnelle et non visuels, par exemple un objet sera class´e comme chaise du moment ou il a pour fonction de permettre de s’assoir disposera d’un dossier mais il n’a pas forcement quartes pieds ( voir figure 1.3) on parle alors de varia- tion intra-classe. Figure 1.3 – Gauche :Exemple de variabilit´e intra-classe de la cat´egorie chaise. Droite : Cet objet `a l’apparence ´etrange est une chaise de par sa fonction. Le processus de formation de l’image supprime l’information 3D ce qui a pour cons´equence tout petit changement dans la position ou la rotation ou du point de vue (view point) de l’ob- jet par rapport au centre de la camera peut changer l’apparence de l’objet consid´erablement. Une question connexe `a laquelle il faut faire face et le changement d’´echelle (scaling) une bonne d´etection devrait ˆetre robuste `a de tels changements. Souvent les objets peuvent ˆetre partiellement masqu´es et apparaissent g´en´eralement sur des fonds complexes et vari´es. Un autre probl`eme est le changement d’illumination en ef- fet l’´eclairage g´en´erale affecte l’apparence d’un objet par exemple un objet en plein soleil ou dans la nuit n’aura pas la mˆeme apparence. Ainsi un d´etecteur d’objet robuste doit pallier aux probl`emes li´es `a ces changements d’ap- parence, et fournir une invariance `a la d´etection. 11
  • 12. Figure 1.4 – Gauche : Exemple d’occlusion. Droite : Exemple de changement de point de vue et rotation. La difficult´e de la d´etection ne r´eside pas seulement dans ces probl`emes `a surmonter, mais aussi dans la difficult´e d’exploiter certaines informations li´es au contexte `a priori utile, l’apparence d’un objet peut ˆetre ambigus il semble int´eressant de modifier la classe d’un objet en relation avec le contexte de la sc`ene. En plus des difficult´es ´evoqu´es relative `a la robustesse des algorithmes de reconnaissance rencontre des d´efis notables dans la complexit´e de calcul. Le fait que la moiti´e du cortex c´er´ebral chez les primates est consacr´e au traitement visuel donne une indication de la charge de calcul investit dans cette tˆache complexe [4]. Des algorithmes efficaces sont donc n´ecessaire pour utiliser de riches repr´esentations d’images de grandes dimensions, d’exploiter de grandes bases de donn´ees d’images, ou ´etendre la reconnaissance `a des milliers de cat´egories d’objets. Nous pr´esentons un sch´ema r´ecapitulatif d’un syst`eme de reconnaissance voir Figure 1.4. La mod´elisation est constitu´ee de deux phases : [5] ­ La premi`ere est hors ligne (off line) qui consiste `a repr´esenter les images de la base qui puissent exister dans la sc`ene et construire ainsi une base de mod`eles. ­ La deuxi`eme est une ´etape en ligne qui est l’´etape de la reconnaissance elle consiste `a effectuer des transformations spatiales, `a d´eterminer la position d’un objet dans la sc`ene et surtout `a r´ealiser une mise en correspondance entre les objets de la sc`ene et les mod`eles de la base d’images construites lors de l’´etape hors ligne. 12
  • 13. Figure 1.5 – Reconnaissance bas´e mod`eles 1.5 Repr´esentation d’images La question de la repr´esentation des objets est cruciale il est ´evidement peu judicieux d’utiliser directement les valeurs des pixels de l’image, qui peuvent ˆetre tr`es diff´erents pour des images presque identiques, sinon comparer les images pixel `a pixel, lorsque l’objet est l´eg`erement translat´e, la repr´esentation devient compl`etement diff´erente. Et mˆeme si la mise en correspondance est parfaite, il suffit de remplacer l’objet presque identique pour que la valeur des pixels soit enti`erement modifi´ee. La repr´esentation a fait l’objet de beaucoup de contributions ces derni`eres ann´ees. En effet, plus la repr´esentation est adapt´ee, plus les r`egles de d´ecision dans cet espace sont faciles `a d´efinir. Nous distinguons deux types d’approches.Les m´ethodes globales et les m´ethodes locales. 1.5.1 M´ethodes de repr´esentation globales Historiquement les m´ethodes globales ont ´et´e propos´es en premier, elle calcule une signa- ture de l’image dans sa globalit´e, `a l’aide de diff´erents descripteurs de surface, p´erim`etre, descripteur de Fourier, et les moments. En fonction du descripteur ces m´ethodes peuvent ˆetre robustes aux variations que subit l’objet comme l’illumination, la rotation, le change- ment d’´echelle mais ne sont pas adapt´ees aux occultations et la pr´esence de fond complexes. C’est pour pallier `a ces limitations tr`es contraignantes que les m´ethodes locales ont ´et´e pro- pos´ees. 1.5.2 M´ethodes de repr´esentation locales Ces m´ethodes consid`erent les images comme ´etant des r´egions d’int´erˆets locales, g´en´eralement de taille assez faibles par rapport `a la taille de l’image. Elles sont appel´es ”patch” seuls les r´egions consid´er´ees comme importantes sont utilis´ees ce qui permet de limiter la quantit´e d’information `a manipuler par leurs nature locale et leur capacit´e `a permettre ais´ement les appariements entre images. Ces m´ethodes conduisent `a des algorithmes robustes aux trans- lations, aux changements d’´echelles, aux occultations, et `a la pr´esence d’un fond difficile qui sont les caract´eristiques classiques des images en conditions r´eelles. 13
  • 14. 1.6 Classification Les m´ethodes de classification ont pour but d’identifier les classes auxquelles appar- tiennent des objets `a partir de certains traits descriptifs. La proc´edure de classification est extraite automatiquement `a partir d’un ensemble d’exemples. Un exemple consiste en la des- cription d’un cas avec la classification correspondante. Un syst`eme d’apprentissage doit alors, a partir de cet ensemble d’exemples extraire un mod`ele, il s’agit en effet d’extraire une r`egle g´en´erale `a partir des donn´ees observ´ees. La proc´edure g´en´er´ee devra classifier correctement les exemples de l’´echantillon et avoir un bon pouvoir pr´edictif pour classifier correctement de nouvelles descriptions. Nous introduisons dans les sections suivantes, les concepts de la classification supervis´ee ainsi que les m´ethodes usuelles utilis´ees en vision par ordinateur. 1.6.1 k plus proches voisins La m´ethode des K plus proches voisins (Knn K nearest neighbor en anglais) [6] se base sur une comparaison directe entre le vecteur caract´eristique repr´esentant l’entit´e `a classer (ici un objet) et les vecteurs caract´eristiques repr´esentant des entit´es de r´ef´erence. La comparaison consiste en un calcul de distances entre ces entit´es. L’entit´e `a classer est assign´e `a la classe majoritaire parmi les classes des k entit´es les plus proches au sens de la distance utilis´ee. Les principaux inconv´enients de cette m´ethode sont le nombre d’op´erations pour classer une entit´e dans le cas d’une grande base ainsi que sa sensibilit´e au bruit pr´esent dans les donn´ees d’apprentissage. Figure 1.6 – A gauche la classification, est simple quel que soit le nombre de voisins.A droite, revanche tout d´epend du nombre de voisin l’affectation `a une classe est pond´er´ee par la distance, plus un voisin est ´eloign´e, plus son influence est faible. 1.6.2 Arbres de d´ecision Le formalisme des arbres de d´ecision permet de classifier un nouvel objet en testant ses caract´eristiques les unes `a la suite des autres. La classification se fait `a travers une s´equence de questions dans laquelle chaque question d´epend de la r´eponse `a la question pr´ec´edente. Cette s´equence de questions est repr´esent´ee par un arbre de d´ecision dont les feuilles ter- minales repr´esentent les classes. Deux types de valeurs sont possibles discr`etes et continues, 14
  • 15. selon qu’il s’agisse d’un arbre de classification ou un arbre de r´egression. La figure 1.6.2 illustre un exemple de classification sur des donn´ees continues `a deux dimen- sions en utilisant les arbres de d´ecision. Dans la phase de construction de ce classificateur, les exemples de l’ensemble de l’appren- tissage sont divis´es r´ecursivement par des tests d´efinis sur des caract´eristiques pour obtenir des sous-ensembles d’exemples ne contenant que des exemples appartenant tous `a une mˆeme classe. Les algorithmes existant ( CART ( [7]), ID3 ( [8]), C4.5 ( [9])...) diff´erent essentielle- ment par leur fa¸con de choisir, `a une ”tape donn´ee et parmi les caract´eristiques disponibles, la caract´eristique de segmentation et par le crit`ere d’arrˆet. Figure 1.7 – Exemple de classification avec arbre de d´ecision. 1.6.3 Machines `a vecteurs de support Les machines `a vecteurs de support, ou Support Vector Machine (SVM) sont des fonc- tions discriminatives. Intuitivement, les SVM sont bas´es sur deux principes. Le premier est de maximiser la marge du classifieur, c’est-`a-dire la distance entre la fronti`ere de d´ecision et les ´echantillons les plus proches. Le deuxi`eme est l’utilisation d’une fonction noyau (kernel trick) pour travailler dans un espace de repr´esentation o`u les donn´ees dont lin´eairement s´eparables. Les d´etails math´ematiques peuvent ˆetre trouv´es par exemple dans [10], Les SVM pr´esentent de bonnes propri´et´es de g´en´eralisation, en effet, ils sont capables de construire des mod`eles sans sur apprentissage, mˆeme dans le contexte de peu d’exemples d’apprentissage repr´esent´es par des vecteurs de grande dimension. 1.6.4 Mod`eles graphiques Les mod`eles graphiques utilisent avantageusement des repr´esentations des distributions de probabilit´e par des diagrammes. Cela permet de visualiser de fa¸con simple et agr´eable les structures du mod`eles probabiliste. Cette mod´elisation permet aussi d’avoir un aper¸cu des 15
  • 16. propri´et´es du mod`ele `a partir du graphe, notamment les propri´et´es d’ind´ependance condi- tionnelles [10]. Un graphe est constitu´e de nœuds, qui repr´esentent les variables al´eatoires, et d’arcs qui connectent ces nœuds entre eux. Ce sont des relations probabilistes entre va- riables. Le graphe capture de fa¸con dont nœuds d´ependent seulement d’un sous ensemble de variables. Plusieurs types de mod`eles graphiques sont g´en´eralement distingu´es : ­ Les r´eseau bay´esiens ou mod`eles graphiques directs sont tels que le lien ente les nœuds a une directions particuli`ere, indiqu´ee par des fl`eches et permet de mod´eliser une relations causale. ­ Une deuxi`eme classe tr`es populaire est celle des champs de Markov (MRF) ou mod`ele graphique indirect. Les liens n’ont pas de direction, et mod´elisent des contraintes spa- tiale entre les labels d’´el´ements voisins dans le graphe. Ils s’int´eressent `a la probabilit´e conjointe des observations et des labels. Ils servent en g´en´eral `a r´egulariser un champs de labels `a l’´echelle d’une image. 1.6.5 Les mod`eles `a variables latentes d’aspect Sont des mod`eles `a variables latentes d’un int´erˆet tout particulier. Les deux plus utilis´es en vision sont les mod`eles pLSA et LDA. Introduits initialement pour la classification de textes, ces mod`eles sont bas´es sur une repr´esentation en mots visuels. Le mod`ele pLSA [11] ou Probabilistic Latent Semantic Analysis, introduit par Hofmann suppose que les images sont d´ecrites par des distributions sur des variables d’aspect, les topics, et que chaque to- pic poss`ede une probabilit´e de g´en´erer chacun des mots. Les deux ´etant mod´elis´es par des distributions multinationales. Le mod`ele LDA ou Latent Dirichlet Allocation, introduit par Blei, Ng et Jordan [?], suppose quant `a lui que ces probabilit´es multinationales sont obtenues `a l’aide d’un a priori de Dirichlet. Les mod`eles des chapitres 3 et 5 sont des extensions du mod`ele LDA. 1.6.6 R´eseaux de neurones Les r´eseaux de neurones sont inspir´es de la structure neurophysiologique du cerveau. Un neurone formel est l’unit´e ´el´ementaire d’un syst`eme mod´elis´e par un r´eseau de neurones artificiels. A la r´eception de signaux provenant d’autres neurones du r´eseau, un neurone formel r´eagit en produisant un signal de sortie qui sera transmis `a d’autres neurones du r´eseau. Le signal re¸cu est une somme pond´er´ee des signaux provenant de diff´erents neurones. Le signal de sortie est une fonction de cette somme pond´er´ee : yj = f( n i=1 wijxi) avec yj la sortie du neurone formel j en question, xi; (i = 1 ::: N) les signaux re¸cus par le neurone j de la part des neurones i, et wij les poids des interconnexions entre les neurones i et j. Selon l’application, la fonction f, appel´ee fonction d’activation, est le plus souvent une fonction identit´e, sigmo¨ıde, tangente hyperbolique ou une fonction lin´eaire par morceaux. L’apprentissage du classificateur consiste `a faire ´evoluer les poids wij par des 16
  • 17. m´ethodes d’optimisation non lin´eaires pour minimiser une fonction de coˆut qui constitue une mesure de l’´ecart entre les r´eponses r´eelles du r´eseau et les r´eponses d´esir´ees. 1.6.7 Boosting : Le Boosting (Schapire [12]) d´esigne un principe g´en´eral d’apprentissage permettant d’am´eliorer la pr´ecision d’un algorithme d’apprentissage donn´e. Le principe g´en´eral est de combiner lin´eairement des r´esultats de classificateurs dits ”faibles” affin de construire un classificateur ”fort” d’apprentissage `a partir de l’ensemble original et une m´ethode de com- binaison de classificateurs construits `a partir de chaque nouvel ensemble. Pour d´efinir sa nouvelle technique de ”Boosting”, Shapire se base sur l’id´ee que tout classifi- cateur faible capable d’apprendre avec une certaine confiance et une erreur de classification inf´erieure `a (0.5), peut ˆetre transform´e en un classificateur plus confiant et avec une erreur de classification aussi petite que d´esir´ee. En d’autres termes, un classificateur faible don- nant de meilleurs r´esultats qu’un simple pile ou face (50% de risque) peut ˆetre la base pour construire un ensemble de classificateurs. A chaque it´eration, l’algorithme cherche `a trouver un classificateur faible qui peut corriger au mieux les erreurs des classificateurs obtenus aux it´erations pr´ec´edentes. Dans le principe de ”Boosting”, cet objectif est r´ealis´e `a l’aide d’une pond´eration des donn´ees d’apprentissage. Le premier algorithme d´eriv´e de ce concept est ”AdaBoost”. Dans la section suivante, nous d´ecrivons l’algorithme ”AdaBoost”. Adaboost : L’algorithme ”AdaBoost” (Adaptive Boosting), d´evelopp´e par Freund et Schapire (Freund et Schapire [13]), est un algorithme qui cr´ee imp´erativement une combinaison lin´eaire de classificateurs de la forme : H(x) = Signe( T t=1 αtht(x)) O`u ht repr´esente un classificateur faible et αt son poids. ”AdaBoost” est un algorithme qui prend en entr´ee, en plus d’un ensemble d’apprentissage, un second algorithme de classification. A chaque it´eration, ”AdaBoost” appelle le second algorithme afin d’apprendre un nouveau classificateur qui corrige les erreurs de pr´ediction de la combinaison lin´eaire courante. Une fois ce nouveau classificateur appris, il est ajout´e dans la combinaison lin´eaire avec un poids associ´e qui maximise la performance de la nouvelle combinaison. La figure 1.6.7 illustre un exemple d’AdaBoost appliqu´e sur des donn´ees en deux dimensions. 17
  • 18. Figure 1.8 – Exemple de classification avec AdaBoost. 18
  • 19. 1.7 ´Etat de l’art La reconnaissance d’objets a suscit´e l’int´erˆet de la communaut´e scientifique d´es les pre- miers pas de la vision par ordinateur. les premiers travaux en reconnaissance `a la fin des ann´ees 60 ´etaient bas´es sur la g´eom´etrie nous pouvons cit´es quelques travaux fondateurs : Roberts [14] propose une approche ou l’objet est mod´elis´e en blocks ”block world” en an- glais,d´efini comme suit : ”Nous supposerons que les objets vus pourraient ˆetre construits avec des parties avec lesquelles nous sommes familiers. Nous voyons l’objet comme une transfor- mation en un mod`ele pr´econ¸cu , ou un ensemble de parties pr´econ¸cu ... La seule exigence est que nous ayant une description compl`ete de la structure tridimensionnelle de chaque mod`ele.” Ce mod`ele g´eom´etrique en th´eorie fonctionne mais il est bien loin de la pratique de nom- breuses difficult´es ne peuvent ˆetre abord´es dans ce mod`ele comme pour les objets articul´es ou en mouvement, les surfaces curvilignes, les occlusions et les formes inconnues, texture complexe tel que le feuillage, surfaces transparentes ou translucides. Figure 1.9 – a) L.G.Roberts. b) Sc`ene de blocks. c) Fronti`eres extraites `a l’aide du gradient. d) Description polyhedral de la sc`ene. e) Sc`ene 3D avec changement de point de vue. Thomas Binford [14] repr´esente les objets par des cylindres g´en´eralis´es, la m´ethode consiste en un balayage de l’objet, celui ci est donc repr´esent´e comme une ossature par des cylindres le long d’un axe. Le principale avantage de cette m´ethode est la capacit´e `a repr´esenter des objets ayant une forme curviligne, un exemple de description d’ un objet en utilisant les cylindres g´en´eralis´es, est montr´e dans la figure suivante. 19
  • 20. Figure 1.10 – Repr´esentation des objets par les cylindres g´en´eralis´es. a) Thomas Binford. b)Image de la gamme d’une poup´ee. c) Cylindres g´en´eralis´es obtenues. Stephen Underwood and Clarence [14] propose une approche bas´e sur les graphes d’aspects dans lesquels les aspects 2D d’un objet 3D sont collect´es dans des groupes appel´es aspects sous forme d’un graphe ou chaque nœud repr´esente une vue (aspect) et les arcs repr´esentent les relations entre les aspects et le passage d’une vue `a une l’autre. la repr´esentation par graphe d’aspects eu beaucoup de succ`es dans la communaut´e scienti- fique en effet la notion humaine est bas´e sur l’apparence (view centred representation) plutˆot qu’une vision bas´ee sur l’objet. Intuitivement cette repr´esentation semble ad´equate, mais la mod´elisation sous formes de graphes d’aspects demeure complexe. Figure 1.11 – Graphe d’aspects. Deux vues d’un objet, les diff´erentes projections forment un graphe d’adjacence. 20
  • 21. Biederman [15] introduit cylindres g´en´eralis´ees d´eformables appel´es geons qui a d´emontr´e que la reconnaissance d’objets peut ˆetre caract´eris´e par l’absence ou la pr´esence de geons (cˆones) dans la sc`ene 3D. De ce fait le r´ealisme na¨ıf qui ´emerge dans descriptions d’objets peut refl´eter les m´ecanismes d’un syst`eme par lequel les objets sont identifi´es. N´eanmoins le mod`ele affronte des limitations pour concr´etiser des entit´es (objets) r´eelles. Figure 1.12 – Repr´esentation des objets `a l’aide des geons. Dans les travaux pr´ec´edents les chercheurs ont mis l’accent sur la d´efinition des ´el´ements primitifs pour mod´eliser les objets. D’autres travaux se sont d’avantage int´eress´e sur la notion de structure g´eom´etrique des objets (relations g´eom´etrique). Fischler et Elschlager [1] ont tent´e de formaliser la connaissance d’un objet en le subdi- visant en plusieurs parties puis en repr´esentant ces parties par un mod`ele en constellation int´egrant la relation entre les diff´erentes parties et la flexibilit´e qu’elles peuvent avoir. 21
  • 22. Figure 1.13 – Mod`ele utilis´e par Fischler et Elschlager pour mod´eliser le visage Figure provenant de [1]. Or la tˆache s’est av´er´e rapidement difficile et les efforts se sont tourn´es vers des images plus simples ou encore des environnement contrˆol´es. Ainsi durant les ann´ees 80 et le d´ebut des ann´ees 90, les travaux se sont port´es sur des objets bien centr´es, g´en´eralement avec des fonds uniformes, tels que les caract`eres et visages [16]. Le probl`eme de ces m´ethodes est que les objets ´etaient souvent repr´esent´es par des images elles mˆemes (repr´esentation explicite au moyen d’exemple). les mod`eles n’´etaient donc pas r´esistants aux transformations et variations que peut subir l’image telles que les variations d’apparence et de point de vue. ou encore sur des fonds complexes. Les m´ethodes par ap- prentissage ont apport´es des r´eponses `a ces probl`emes, elles permettaient de produire de classifieurs automatiquement `a partir d’exemples d’apprentissage. D’autres part, les techniques de descriptions d’images ont progress´e. La description d’une image ayant fait l’objet d’un travail consid´erable ont permit l’´emergence de m´ethodes au- jourd’hui classiques. Agrawal et al [17] : d´eveloppe un syst`eme de d´etection de v´ehicule en se basant sur la les mod`eles de recherche d’informations ceci en construisant un vocabulaire visuel `a partir de patchs, Ces patchs sont ensuite regroup´es selon une fonction de similarit´e. Les descripteur de l’image est construit en faisant une corr´elation entre le dictionnaire visuel et un vecteur binaire celui ci d´etermine si un mot visuel est pr´esent ou absent dans une image. ´etant donn´ee un ensemble de donn´ees d’apprentissage marqu´e comme positifs ou n´egatifs chacune de ces donn´ees est convertit en la repr´esentation d´ecrite ci dessus. Un classfieur SNow ( Sparce Network of Winnows) est utilis´e pour l’apprentissage. Pour la phase de la d´etection (localisation) les auteurs utilisent la m´ethodes des fenˆetres glissantes ( sliding window) qui parcourt l’image `a la recherche potentiel d’objets d’int´erˆets. 22
  • 23. Vijayanarasilhan et Grauman [17] propose une approche originale pour la d´etection d’objet en effet il propose une m´ethode qui permet d’´eviter l’utilisation des fenˆetres glissantes sachant que celles ci sont couteuse en temps d’ex´ecution. ´Etant donn´e un ensemble de donn´es d’ap- prentissage (images) ou chacune d’elle est segment´e au niveau du pixel (man segmentation) ils entrainent un classifieur pour distinguer les cat´egories d’objets. Pour la d´etection ayant une nouvelle image il effectuent une sur-segmentation en sous r´egions, puis pour chacune de ces sous r´egions on extrait les caract´eristiques associ´e et finalement le classifieur renvoie un score pour chacune des sous r´egions. Un graphe est construit le probl`eme de d´etection est r´eduit au probl`eme MWCS (trouver un sous graphe fortement connexe en maximisant un certain score). Martin et al [18] proposent une m´ethode pour la d´etection et la localisation des fronti`eres dans les images naturelles en utilisant une combinaisons de caract´eristiques locales aux pixels. Un classifeiur est utilis´e pour faire l’apprentissage sur des images ground truth, la sorti du classifeur donne la probabilit´e de la pr´esence d’une fronti`ere `a chaque localisation et orientation dans l’image. Les auteurs utilisent les discontinuit´es au niveau de la luminance ( oriented energy and gradient), les gradients couleurs, ainsi que les gradient au niveau de la texture en utilisant la transform´ees d’Hilbert avec un filtre gaussien. Gao et Fen [19] ont compar´es trois diff´erentes approches pour la d´etection des objets saillants. La premi`ere m´ethode est bas´ee sur la segmentation en utilisant l’algorithme Jseg cette algorithme est int´eressant car il ne permet pas seulement de trouver une homog´en´eit´e dans les couleurs mais aussi il cherche l’homog´en´eit´e de la texture dans une image. Mais cette approche rencontre des limites car elle produit biens souvent une sur-segmentation des r´egions d’un objet la seconde m´ethode (grid based method) bas´e grille permet d’´eviter les erreurs du au processus de segmentation le principe est de partitionner l’image en grille superpos´e (overlapping grid). Les caract´eristiques Sift sont calcul´ees pour chaque grille, L’avantage d’une telle m´ethode et contrairement aux m´ethodes bas´e sur le template matching est de ne pas prendre en consid´eration les portions non significatives des grilles et ce en se concentrant uniquement sur la forme globale d’un objet. Malgr´e cela cette m´ethode devient inad´equate lorsque la grille ne couvre pas les objets saillants d’une image. La troisi`eme m´ethode peut pallier `a ce probl`eme (part based method) bas´ee sur les r´egions ou des parties d’une image. L’id´ee est construire un dictionnaire de patchs extraits d’une image. Pour une image test donn´ee il suffit de calculer ces caract´eristiques est de faire un matching avec le mod`ele. Enfin les auteurs proposent une m´ethode hybride en faisant la combinaison des 3 m´ethodes d´ecrites. Maaoui et al [20] pr´esentent une approche de reconnaissance d’objets bas´ee sur l’utilisation des moments de Zernike appliqu´es `a des images couleur, la d´etection est effectu´e en utilisant une segmentation couleur et l’´etiquetage des composantes connexes et une m´ethode bas´ee sur les Svm est utilis´ee `a l’´etape de l’apprentissage. 23
  • 24. Lee et al [21] d´etectent les objet saillants d’une image naturels , il calcule une carte de saillance en appliquant la m´ethode PCA ( principale component analysis) `a la couleur dans les espaces RGB et CIE-Lab une clusterisation des distributions des couleur est ils obtiennent une carte de saillance. la classification objet/fond est obtenue en appliquant une analyse discriminative lin´eaire ( LDA) pour chaque pixel de l’image test. Wang et al [22] pr´esentent une nouvelle approche pour la d´etection de cat´egories d’ob- jets en combinant des descripteurs d’apparence locales et des contraintes contextuelles. Ils construisent une foret de Hough de patchs afin de d´eterminer les emplacements possibles de diff´erents objets, enfin il consid`erent des contraintes d’emplacement spatiales entre les objets dans un espace de vote de Hough afin d’am´eliorer la pr´ecision de la d´etection. Juang et Chen [23] proposent un syst`eme flou pour la d´etection d’objets en temps r´eel `a l’aide d’un svm (TFS-SVMPC). Le syst`eme de d´etection consiste en deux ´etapes : La premi`ere utilise un histogramme globale de couleur de l’objet comme caract´eristique discri- minative, ici en particuliers les auteurs proposent une m´ethode pour calculer l’histogramme afin de permette l’impl´ementation en temps r´eel. La seconde ´etape utilise une caract´eristique g´eom´etriques de d´ependances locales des couleurs des objets comme descripteur pour le mˆeme classifieur. Fulkerson et al [24] proposent une m´ethode pour la localisation d’objets, en utilisant les superpixels plutˆot que les pixels. De la ils construisent un histogramme de caract´eristiques locales pour chaque superpixel. les CRF (Conditional Random Field) sont utilis´es pour la phase de reconnaissance. La plupart des m´ethodes de d´etection d’objets utilisent pour la localisation des objets sur la technique des fenˆetres glissantes, cette technique consiste en une recherche exhaustive sur toute l’image, cette m´ethode est particuli`erement couteuses en temps de calcul. Beaucoup d’avanc´ees dans les m´ethodes sont apparues, en ce sens nous pouvons citer quelques travaux marquants. Le d´etecteur de visages de Viola et Jones [25] qui a inspir´e les d´etecteurs de utilis´es dans les appareils photo num´eriques. Cette m´ethode se base sur une cascade de classifieurs o`u un descripteur de fenˆetre est ´evalu´e par une s´erie de classifeurs qui peuvent choisir de le rejeter ou de continuer les traitements. La cascade permet d’acc´el´erer la classification. Une autre technique int´eressante propos´e par Viola et Jones est celle des images int´egrales cette technique permet d’acc´el´erer consid´erablement le calcul des caract´eristiques. Lampert et al [26] ont trait´e le probl`eme sous un angle diff´erent en se basant sur l’algorithme de S´eparation et ´Evaluation (Branch and Bound). La m´ethode propos´e permet de trouver le maximum global de la fonction de score tout en examinant un nombre restreint de fenˆetres, mais cette m´ethode ne permet pas l’utilisation des classifieurs les plus performants, ceci `a cause des contraintes sur les fonctions de score qui influe sur le choix du classifieur `a utiliser. 24
  • 25. D’autres travaux se sont int´eress´es `a la repr´esentations des objets, notons les travaux de Dalal et Triggs [27] ont propos´e un descripteur `a base des histogrammes d’orientations des gradients (HOG) pour la d´etection de personnes, inspir´e de SIFT. le descripteur est calcul´e dans une fenˆetre 64*128 la taille du descripteur (histogramme) est de 3870. La phase d’apprentissage est fait `a l’aide d’un classifieur SVM. La d´etection quant `a elle est effectu´e via une fenˆetre glissante, chaque fenˆetre calcul le descripteur HOG puis le classifieur retourne avec quelle confiance cette fenˆetre contient l’objet d’int´erˆet. D’autres travaux se sont int´eress´ees `a la mod´elisation des objets. Leibe et al [28] proposent une m´ethode des mod`eles implicites de forme (Implicit shape mo- del) qui permet de d’apprendre la relation entre les mots visuels et le masque de segmentation des objets, et sera capable de retrouver dans une nouvelle image. 25
  • 26. Chapitre 2 Conception Sommaire 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.2 Approche 1 : 1-Chebychev . . . . . . . . . . . . . . . . . . . . . . . 27 2.2.1 La segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2.2 Repr´esentation de l’image . . . . . . . . . . . . . . . . . . . . . . . 40 2.2.3 Reconnaissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.3 Approche Couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.3.1 Repr´esentation des objets . . . . . . . . . . . . . . . . . . . . . . . 48 2.3.2 Construction du mod`ele . . . . . . . . . . . . . . . . . . . . . . . . 49 2.3.3 Appariement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.3.4 Localisation des objets . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.3.5 Localisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.3.6 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.1 Introduction Comme pr´ecis´e dans le chapitre pr´ec´edent, la d´etection d’objets reste l’un des principaux sujets de recherche en vision par ordinateur, de part, la complexit´e de la tˆache mais surtout la capacit´e `a s’adapter `a tout types d’environnement. L’objectif de notre travail est de permettre `a un ordinateur de d´etecter et de reconnaitre des objets pr´esents dans une image. Apr`es quelques recherches et apr`es voir pass´e en revue diff´erentes techniques et m´ethodes existantes pour la d´etection d’objets, nous pr´esentons dans ce qui suit notre contribution dans cette tˆache. 26
  • 27. La d´etection d’objets pr´esente beaucoup de difficult´es `a diff´erents niveaux, nous pouvons les r´esumer dans ce qui suit : ­ La repr´esentation de l’objet : il est n´ecessaire de repr´esenter de mani`ere discriminative les objets. Nous devons donc concevoir un descripteur robuste aux changements et diverses variations des objets. ­ Il est important de bien d´efinir les classes d’objets, cherchons-nous des cat´egories d’ob- jets ou bien des instances ? ­ La mani`ere de faire la correspondance entre un objet (susceptible d’en ˆetre un) et le mod`ele connu `a priori. (Apprentissage automatique, Template matching,...). ­ La localisation des objets dans une image : ou se trouvent ils ? Comment les extraire ? (Segmentation, parcours exhaustive,...). ­ La complexit´e des algorithmes existants : comment parvenir `a une reconnaissance en temps r´eel ? Toutes ces questions repr´esentent des difficult´es que nous devons surmonter. L’objet de la suite de ce chapitre est de fournir des r´eponses `a ces questions, nous pr´esentons en d´etails nos diff´erents algorithmes. Nous avons con¸cu deux approches diff´erentes pour la d´etection d’objets, nous d´etaillerons une `a une dans la suite de chapitre. 2.2 Approche 1 : 1-Chebychev Dans cette approche nous proposons une m´ethode de reconnaissance bas´ee sur l’utilisation des moments de Tchebychev comme descripteur d’objet. Dans ce qui suit, nous donnerons plus de d´etails sur le syst`eme con¸cu. Figure 2.1 – Syst`eme de reconnaissance. 27
  • 28. 2.2.1 La segmentation La segmentation d’une image est une ´etape cruciale dans la tˆache de la d´etection d’objets. Nous proposons dans cette section diff´erentes m´ethodes que nous avons con¸cu pour segmenter les objets et les extraire du fond. M´ethode 1 : DBscan globale DBscan est un algorithme de clusterisation de donn´ees bas´ees densit´e (denisity based). La tˆache de clusterisation consiste au regroupement des donn´ees selon un crit`ere de similarit´e. DBscan permet de regrouper des points ( Des donn´ees) denses en un seul cluster. Les clusters obtenues forment des hyper-sph`eres. DBscan utilise deux param`etres, la distance (epsilon) et MinPts. la distance repr´esente le rayon ou peut s’´etendre le cluster, MinPts lui repr´esente le nombre de points minimum pour qu’un ensemble de points soit consid´er´e comme cluster. L’un des avantages quant `a l’utilisation de cette m´ethode est le fait de ne pas connaitre `a priori le nombre de clusters, contrairement `a d’autres m´ethodes de clusterisation. Dans le cas des images, il s’agit de regrouper les pixels proches et ayant une certaine similarit´e en un cluster, ici nous appliquons DBscan d’une mani`ere diff´erente. Le rayon de recherche est ´etendu `a toute l’image, nous calculons donc la similarit´e d’un point avec tous les autres points de l’image. c’est une exploration globale de l’image, ceci permet de regrouper des points plus ou moins ´eloign´es portant les mˆemes caract´eristiques. 28
  • 29. Donn´ees : I image. S : seuil de comparaison. MinPts : nombre de pixel minimum dans un cluster. R´esultat : Image labellis´ee Debut Label=0 pour tout pixel P dans L’image faire si P est non visit´e alors marqu´e P comme visit´e ListePixels< −− genererSimilaire(P, seuil) si || ListePixels|| < Minpts alors marquer P comme bruit ; fin sinon /* incrementer le label */ Label< −− Label +1 clusterisation(P, Label,ListePixels) fin fin fin Fin Algorithme 1: Algorithme de la premi`ere m´ethode. La fonction g´en´erer Similaire retourne la liste des points portant les mˆemes caract´eristiques que celui re¸cu en argument. la fonction clusterisation permet d’´etendre le cluster et de labeliser chaque ´el´ement du cluster. Donn´ees : I : P pixel .ListePixels : contient les ´el´ements similaires au pixel P. R´esultat : cluster labelis´e Debut pour chaque ´el´ement e dans ListePixels faire /* g´en´erer sa liste de points similaire */ ListeSim< −−g´en´ererSimilaire(e,seuil) si || ListeSim|| > Minpts alors fusionner(ListeSim,ListePixels) fin fin Fin Algorithme 2: Proc´edure de Clusterisation. 29
  • 30. Cette approche s’est av´er´ee efficace en terme de clusterisation, de plus elle est r´esistante aux changement de gradients et de luminance pr´esents dans l’image, la m´ethode est robuste aux variations locales de l’image. Figure 2.2 – R´esultat de segmentation avec DBscan globale. Gauche : Image originale. Droite : Image segment´ee labellis´ee. Malgr´e ces avantages la m´ethode est couteuse en temps de calcul car chaque pixel est compar´e avec l’ensemble des pixels de l’image. Pour pallier `a cette d´eficience nous proposons une am´elioration `a l’algorithme 1. M´ethode 2 : DBscan locale Dans cette m´ethode nous explorons l’image de mani`ere locale et non pas globale. Cette fois ci les pixels sont compar´es avec leurs voisinages imm´ediats, de mani`ere analogue `a la m´ethode des composantes connexes. Nous comparons chaque pixel aux pixels adjacents, le rayon de recherche est fix´e `a 1, contrairement `a la premi`ere, cette m´ethode est rendue sensible aux changements de gradients, couleurs, et autres variations locales. La m´ethode pourrait mener `a une sur-segmentation, ceci est dˆu principalement au fait de comparer les niveaux de gris des pixels. 30
  • 31. Donn´ees : I image. S : seuil de comparaison. MinPts : nombre de pixel minimum dans un cluster. R´esultat : Image labellis´ee Debut Label=0 pour tout pixel P dans L’image faire si P est non visit´e alors marqu´e P comme visit´e ListePixels< −− genererSimilaire(P, seuil) si || ListePixels|| < Minpts alors marquer P comme bruit ; fin sinon /* incrementer le label */ Label< −− Label +1 clusterisation(P, Label,ListePixels) fin fin fin Fin Algorithme 3: Algorithme de la deuxi`eme m´ethode. La fonction g´en´erer voisins Similaires retourne cette fois ci la liste des points adjacents (8 connexit´e) portant les mˆemes caract´eristiques que celui re¸cu en argument. Figure 2.3 – R´esultat de segmentation avec DBscan locale en utilisant les niveaux de gris. Gauche : Image en niveau de gris. Droite : Image labellis´ee, nous obtenons une sur- segmentation. 31
  • 32. Pour pallier `a ce probl`eme Nous avons donc alors opt´e pour un changement dans l’espace des couleurs, nous avons exploit´e l’espace HSV au lieu de travailler avec les niveaux de gris. Nous avons choisi l’espace HSV car cette repr´esentation des couleurs est plus proche de la perception humaine. En utilisant cette fois que la composante Hue (Teinte). Figure 2.4 – Gauche : Image convertit dans l’´eespace HSV. Droite :R´esultat de segmentation avec DBscan locale en utilisant la Teinte. Le temps d’ex´ecution de cette m´ethode, contrairement `a la premi`ere, est nettement plus r´eduit, le temps de r´eponse est instantan´e, ceci est dˆu au fait d’explorer l’image localement, chaque pixel avec son voisinage. les r´esultats de cette segmentation sont proches de la notion d’objets car les objets ont plus ou moins les mˆemes caract´eristiques. Figure 2.5 – Gauche : Rsultat de segmentation avec DBscan locale en utilisant le Teinte. Droite : Localisation des objets. N´eanmoins pour des images ayant des objets et des fonds fortement textur´e, la m´ethode trouve ses limites. voir Figure 2.2.1 32
  • 33. Figure 2.6 – Gauche : Image convertit dans l’espace HSV. Milieu :R´esultat de segmentation avec DBscan locale en utilisant la Teinte. Droite :R´esultat de segmentation l’objet n’est pas d´etect´e. Nous avons donc par la suite con¸cu une autre m´ethode pour la segmentation. M´ethode 3 Afin d’apporter une solution aux limitations des algorithmes pr´ec´edents, nous proposons ici une toute autre approche. La figure suivante illustre le principe de notre m´ethode. Sch´ema r´ecapitulatif de notre m´ethode : Figure 2.7 – Organigramme de la m´ethode. 33
  • 34. Binarisation L’´etape de la binarisation est une ´etape cl´e dans notre algorithme, le but de cette ´etape est de permettre l’extraction des objets de leurs fond, il nous faut distinguer les pixels ap- partenant certainement aux objets et le pixels appartenant au fond. Le probl`eme qui se pose est celui du choix d’un seuil pour la binarisation, en effet chaque image `a une distribution de niveau de gris qui lui est propre, comment choisir alors un seuil et surtout savoir l’adapter `a chaque image ? Le seuillage n’est pas n´ecessairement une op´eration qui s’effectue manuellement, la valeur d’un seuil peut ˆetre obtenue de mani`ere automatique. Notre d´emarche pour faire cela est d’estimer deux seuils `a partir de l’histogramme des niveaux de gris associ´e `a l’image. Le but est de trouver les meilleurs seuils permettant de s´eparer deux populations, l’une serait le fond et l’autre les objets. Le principe est de parcourir l’histogramme des nivaux de gris, en r´ecup´erant les mini- mums et les maximums locaux significatifs ( une grande variation dans l’histogramme c.`a.d. un changement brusque dans les fr´equences des valeurs). Enfin parmi eux choisir les meilleurs seuils qui encadrent la distribution de tel sorte a englober les valeurs qui se r´ep`etent le plus. Figure 2.8 – Repr´esentation des minimums et maximums locaux sur l’histogramme. 34
  • 35. Figure 2.9 – Bas : Extraction des minimums et maximums locaux `a partir de l’histogramme. Donn´ees : I Image I. seuil1, seuil2 R´esultat : Image binaris´ee B. Debut pour tout pixel P dans Image faire si P<seuil1 ou P > seuil2 alors P< −−255 /* pixel en blanc */ fin sinon P< −−0 /* pixel en noir */ fin fin Fin Algorithme 4: Algorithme de Binarisation. Nous pouvons illustrer par l’exemple suivant voir figure Figure 2.10 Figure 2.10 – Gauche : Image binaris´ee. Droite :Histogramme des niveaux de gris ainsi que les seuils min et max en rouge. 35
  • 36. Donn´ees : I Image I. R´esultat : Seuil seuil1, Seuil seuil2. Debut HistoBin : /* vecteur accumulateur de 256 ´el´ements */ ListeMin, ListeMax /* listes contenant respectivement les minimums locaux (les maximums locaux), initialement vides. */ DiffMin, DiffMax /* listes contenant respectivement les changements de fr´equences des min locaux (max locaux) */ Vc, Vp /* valeur courante, valeur pr´ec´edente. */ Bool change= faux /* variable utilis´ee pour le changement de signe */ pour toute Vc de HistoBin faire si Vc−Vp> s1 alors si change=faux alors ajouter Vp `a ListeMin ajouter `a DiffMin (Vc−Vp) fin change=vrai fin si Vc−Vp < s1 et Vc−Vp >= 0 alors change= vrai fin si Vc−Vp < s2 alors si change=vrai alors ajouter Vp `a ListeMax ajouter `a DiffMax (Vc−Vp) fin change=faux fin si Vc−Vp <= 0 et Vc−Vp > s2 alors change=faux fin fin /* extraction des seuils */ /* 1.Parcourir ListeMax extraire la valeur Max celle ci repr´esente la valeur la plus fr´equente dans l’histogramme. */ /* 2. fractionner ListeMin en deux selon Max L1 et L2 tel que toutes les valeurs de L1 sont inf´erieur `a Max et inversement toutes les valeurs de L2 sont sup´erieur `a Max. */ 3.pour chaque ´el´ement x de L1 faire /* eliminer x s’il existe un element y dans ListeMax tel que x > y */ fin 4.seuil1< −− Minimum de L1. 5.pour chaque ´el´ement x de L2 faire /* eliminer x s’il existe un element y dans ListeMax tel que x < y */ fin 6.seuil2< −− Maximum de L2. Fin Algorithme 5: Algorithme d’extraction de seuils pour la Binarisation. 36
  • 37. Le choix du seuil permet de distinguer les objets du fond mais le r´esultat n’est pas tou- jours pertinent. L’image binaire obtenue comporte beaucoup de pixels marqu´es en blanc appartenant aux diff´erentes r´egions de l’image (le fond ´etant inclus). ´Erosion Pour ´eliminer cela nous allons proc´eder `a une ´erosion de l’image afin de retenir les pixels appartenant uniquement aux objets. Nous allons donc proc´eder `a l’´erosion de l’image binaire plusieurs fois. Figure 2.11 – Image binaris´ee apr`es ´erosion. Dilatation Il reste encore quelques pixels n’appartenant pas aux objets d’int´erˆets mais nous ne pou- vons en ´eliminer d’avantage avec l’´erosion, nous avons alors vu le probl`eme autrement, au lieu d’isoler les objets nous cherchons `a retrouver le fond, en effet en partant du principe que ce qui n’appartient pas aux objets appartient forcement au fond. Pour cela nous appliquons une dilatation sur l’image binaris´ee suivie d’une inversion, la Fi- gure 1.10 repr´esente cette ´etape. Le fond dans cette image est marqu´e en gris. Figure 2.12 – Image binaris´ee apr`es dilatation puis inversion. 37
  • 38. Nous avons deux images, l’une ´etant l’´erosion de l’image binaire et l’autre la dilatation, nous proc´edons `a une superposition des deux images `a l’aide d’une simple somme logique, nous obtenons ainsi une image `a trois niveaux de gris blanc noir et gis moyen comme l’illustre la Figure 1.12 Figure 2.13 – Superposition des deux images pr´ec´edentes. A cette ´etape, nous avons une image combin´ee, ce dont nous sommes certains est de la nature des point marqu´es en gris moyen et blanc , en effet nous sommes savons que les points en blanc appartiennent aux objets et que les points marqu´es en gris moyen appartiennent au fond. les r´egions marqu´es en noir sont quant `a elle ”incertaines” celles ci peuvent appartenir au fond comme aux objets. Il nous faut donc d´eterminer si ces r´egions appartienne bien aux objets ou bien si elles font partie du fond. Il s’agit donc de trouver les fronti`eres des objets dans ces r´egions. La Segmentation L’id´ee de base de notre algorithme est d’attribuer aux r´egions ”incertaines” un label de fond ou bien celui d’objet. Le principe est le suivant, si une r´egion incertaine est entour´ee compl`etement par une r´egion marqu´e comme fond (gris moyen) et qu’elle ne contient pas de blanc alors certainement cette r´egion appartient au fond. Par contre si cette r´egion entoure une r´egion marqu´ee comme objet (blanc) alors une partie de cette r´egion incertaine fait partie de l’objet. De l`a, nous d´eterminons les fronti`eres des objets car cette r´egion contient forcement les fronti`eres des objets. La figure 2.14 illustre le principe de la segmentation. 38
  • 39. Figure 2.14 – ´Etapes de segmentation d’objets : les r´egions marqu´es en blanc s’´etendent jusqu’aux fronti`eres des objets. Donn´ees : I Image I fusion. R´esultat : Image S segment´ee. Debut Mat : matrice bool´eenne de la taille de l’image I. pour tout p de l’image. faire si P est marqu´e Noir alors P< −−gris /* marquer en gris. */ marquer Mat[p]=vrai fin fin pour tout pixel p de l’image fusion faire si P est marqu´e en Blanc alors /* ´Etendre le blanc jusqu’aux fronti`eres. */ 1. ´Etendre le voisinage de chaque pixel ( 8 pixels voisins). 2.Lors de l’extension, les fronti`eres repr´esentent les pixels avec les plus hauts gradients dans cette r´egion. fin fin Fin Algorithme 6: Algorithme de Segmentation. La Figure 2.15 illustre les r´esultats de la segmentation. 39
  • 40. Figure 2.15 – R´esultats de la segmentation. -Gauche : fronti`eres des objets. -Milieu :Seg- mentation des objets. Droite : r´esultat final, extraction des objets. 2.2.2 Repr´esentation de l’image Les moments jouent un rˆole tr`es important dans la reconnaissance d’objets. Ce sont des quantit´es scalaires utilis´ees pour repr´esenter une fonction de mani`ere significative. Habituellement utilis´ees en statistiques, nous introduisons les moments de Tchebychev comme descripteur d’objets. Les moments de Tchebychev ont ´et´e introduit par R Mukundan en 2001 [29] ,les moments de Tchebychev permettent de d´ecrire une fonction (une distribution de points) de mani`ere pr´ecise . D’un point de vue math´ematique, il s’agit des diff´erentes projections dans un espace orthonorm´e, en vision, cela permet de d´ecrire la forme d’une image d’un objet dans le cas de la reconnaissance. Les moments de Tchebychev d’ordre p+q , associ´e `a une image de taille N ∗N est donn´ee par : 40
  • 41. L’utilisation des moments de Tchebychev pr´esente beaucoup d’avantages compar´e `a l’uti- lisation d’autres moments. Ceux ci peuvent ˆetre ´enum´er´es comme suit : ­ Les moments de Tchebychev sont orthogonaux : la condition d’orthogonalit´e est v´erifi´ee (voir chapitre pr´ec´edent) cette propri´et´e permet d’´eliminer la redondance d’information, car la base polynomiale est orthogonale, cela veut dire que pour un moment donn´e r une projection repr´esente une partie de l’image. ­ Les moments de Tchebychev sont discrets ce qui permet d’exploiter directement les points de l’image (coordonn´es), cela permet d’´eliminer les approximations num´eriques. ­ Les moments de Tchebychev sont r´esistants aux variations d’´echelle et de translation. ­ L’utilisation des moments de Tchebychev convient aux images sym´etriques et asym´etriques contrairement aux moments de Legendre avec des images sym´etriques. ­ Les moments de Tchebychev permettent la reconstruction de l’image originale. Malgr´e ces avantages, en pratique, le calcul des moments de Tchebychev s’av`ere couteux en terme de temps. Il est indispensable dans notre probl`eme de se rapprocher le plus de la notion de temps r´eel sans perdre pour autant de la robustesse et la pr´ecision qu’apporte cette repr´esentation. Dans cette optique nous avons propos´e une variante quant `a l’utilisation classique. Plu- sieurs modifications ont ´et´e apport´ees dans le sens de cette d´emarche. 41
  • 42. Dans la litt´erature les moments sont calcul´es jusqu’`a un ordre donn´e c’est `a dire que pour calculer les moments d’ordre n il faut aussi calculer les ordres pr´ec´edents (0, 1, 2, , , , n − 1) cela est important pour capturer tous les d´etails d’une image `a l’aide des diff´erentes projec- tions. Mais est il n´ecessaire de calculer tous les ordres pr´ec´edents ? est il n´ecessaire d’avoir des d´etails sur toutes les projections `a diff´erents ordres ? Pour la reconstruction de l’image il est ´evidement important d’avoir toutes les projection afin de retrouver le plus fid`element l’image originale. Cependant la complexit´e du calcul num´erique des moments est un r´eel obstacle. Nous propo- sons alors de calculer les moments `a un ordre donn´e sans tenir compte des ordres pr´ec´edents. ceci revient `a utiliser l’une des projections pour d´ecrire un objet. Nous pourrions nous deman- der si c’est est bien suffisant ? nous pouvons d´emontrer cela en proc´edant `a une reconstruction de l’image avec notre m´ethode, `a diff´erents ordres ainsi qu’avec la m´ethode de calcul classique. Figure 2.16 – Reconstruction `a diff´erents ordres avec notre calcul des moments ainsi qu’avec le calcul classique de ceux ci. 42
  • 43. Nous remarquons la chose suivante : plus l’ordre est ´elev´e (jusqu’`a un certain ordre) plus la reconstruction est pr´ecise. Il est ´evidement logique que la reconstruction ne permet pas de retrouver l’image originale dans son int´egralit´e. Cependant, la forme globale reste la mˆeme. Nous obtenons donc une repr´esentation globale de l’image dans notre cas de l’objet, cela permet donc de repr´esenter de mani`ere globale la forme de l’objet, cela s’adapte parfaitement `a notre probl`eme. Nous n’avons pas besoin d’autant de d´etails aussi fins car nous cherchons `a retrouver des cat´egories d’objets. De plus, l’avantage notable est la r´eduction de la complexit´e algorithmique, le temps de calcul des moments est remarquablement plus r´eduit compar´e au calcul classique pour le mˆeme ordre. Les moments de Tchebychev sont habituellement utilis´es sur des images en niveau de gris ou encore sur des image binaire, notre but est de modifier le descripteur afin que nous puissions int´egrer l’information couleur, ceci permet de distinguer des objets ayant des formes identiques mais pourtant diff´erents, nous obtenons un niveau plus ´elev´e de pr´ecision. Il s’agit de rajouter dans le descripteur de nouveaux ´el´ements choisis comme ´etant les param`etres dans l’espace Rgb. Une autre modification et am´elioration consiste en l’application des moments de Tcheby- chev sur des images contours,comme propose Dahmani dans les travaux pr´ec´edents [30] en introduisant les contours internes pour le calcul des moments. Pour cela nous appliquons le filtre Canny sur nos images, ceci permet de r´eduire consid´erablement le temps de calcul des moments, de plus les contours donnent une assez bonne repr´esentation d’un objet, en effet la forme de l’objet est pr´eserv´ee, nous ne perdons pas l’information sur la forme globale de celui ci. Comme mentionn´e auparavant les moments de Tchebychev sont robustes aux changement d’´echelles, ainsi qu’aux multiples prises de vues, par contre un des majeur probl`eme de ces moments, est que ces derniers sont sensibles `a la rotation. En examinant les r´esultats obtenus en appliquant les moments de Tchebychev sur diff´erents angles de rotation (quatre axes principaux) pour le mˆeme objet, nous avons remarqu´e une certaine relation dans les nombres (moments) obtenues. 43
  • 44. Figure 2.17 – L’effet de la rotation sur les descripteurs `a diff´erents ordres. Nous avons observ´e les points suivants : ­ Nous avons un objet, nous lui appliquons les moments de Tchebychev, ce qui a pour r´esultat de nous donner un vecteur avec un certain nombre de valeurs, lorsque l’objet connait une rotation de 180 degr´es, nous avons remarqu´e que les valeurs du vecteur cit´e sont multipli´ees par −1, ­ Nous avons un objet, nous lui appliquons les moments de Tchebychev, nous obtenons alors un vecteur avec un certain nombre de valeurs, lorsque l’objet connait une rotation de 90 degr´es et que l’on applique de nouveau les moments de Tchebychev, nous obte- nons un vecteur de valeurs. En apparence ces valeurs semble al´eatoires mais en fait elles ne le sont pas. Nous avons r´eussit `a trouver une r`egle g´en´erale, un algorithme capable de d´eterminer le signe de chaque valeur du descripteur. Nous avons remarquer la chose suivante : L’ordre P intervient dans le changement du signe du vecteur, si P est paire, les valeurs du vecteur sont les mˆemes, par contre si P est impaire, il y a changement de signe du vecteur, ce dernier est multipli´e par -1, de plus l’image miroir du vecteur est cr´ee. Nous avons ´elaborer une formule qui permet de d´efinir cette relation math´ematique. cette formule est la suivante : 44
  • 45. La formule (1) devient alors : Donn´ees : I image. R´esultat : d1, d2 ,d3, d4 : Descripteurs des quatre axes de rotation respectivement 0, 90, 180,270 degr´es Debut /* Calcul des moments ainsi que les moments avec rotation de 90 degr´es */ /* Ordre P+Q */ si P est paire alors /* m^eme signe de la valeur */ d2[i]= d1[i] fin sinon /* changer le signe */ d2[i]= (-1) * d1[i] fin d2= image miroir de d2 /* calcul des descripteurs aux rotations 180 et 270 degr´es respectivement. */ d3= (-1)* d1 d4= (-1)* d2 Fin Algorithme 7: Algorithme de la rotation 1-Chebychev. 45
  • 46. Cette nouvelle formule permet d’obtenir les descripteurs d’un objet lorsque celui ci est soumis `a une rotation β avec β appartenant `a (90, 180, 270) degr´es. De cette mani`ere l’utilisation d’un seul quadrant dans le cercle trigonom´etrique nous suffira pour trouver le descripteur de l’objet pour tous les angles. Puisque l’on peut obtenir les descripteurs des rotations sur les quatre axes principaux et ce pour n’importe quel angle. Figure 2.18 – Influence de l’ordre et la rotation sur le calcul des moments. 2.2.3 Reconnaissance Les moments de Tchebychev calcul´es pr´ec´edemment ainsi que la classe de chaque objet forment un ensemble d’apprentissage (xi, yi) i = 1..M ou chaque yi appartient `a 1..N si nous avons N classes diff´erentes. Notre objectif est de construire une fonction f(x) qui estime les d´ependances entre les exemples xi et les classes yi et qui minimise le risque d’erreur de classification pour un point x donn´e n’appartenant pas `a la base d’apprentissage. A l’origine, les SVM ont ´et´e con¸cus essentiellement pour les probl`emes `a 2 classes, o`u la sortie ne peut avoir que deux valeurs 0 ou 1. Cette approche a ´et´e modifi´e pour g´erer les tˆaches multi-classes adapt´es `a notre probl`eme de reconnaissance d’objets. Plusieurs approches permettant d’´etendre cet algorithme aux cas `a N classes ont ´et´e propos´ees. La m´ethode que nous utilisons dans cette approche, est une m´ethode dite ”un contre tous” (r´ef). L’id´ee est donc de construire une fonction qui, en ayant de nouvelles donn´ees, pr´edira correctement la classe `a laquelle la nouvelle entr´ee appartient. Cela peut ˆetre r´ealis´e en d´ecomposant le probl`eme de classification multi-classes en de multiples probl`emes de classi- fication binaires, et puis d’utiliser le principe de vote majoritaire pour pr´edire l’´etiquette (la sortie). Le processus est de r´esoudre K diff´erents probl`emes binaires : classifier la ”classe k” contre 46
  • 47. ”le reste des classes” pour k = 1, . . . , K. Tel que K est le nombre d’objets pr´esents dans notre classe, ainsi chaque classifieur binaire probabiliste not´e Ci permet de donner une probabilit´e d’appartenance de l’objet de test `a la classe i. Puis d’attribuer un ´echantillon de test pour la classe qui donne la plus grande valeur fk(x), ou fk(x) est la solution du k `eme probl`eme. Critiques Notre m´ethode malgr´e les avantages qu’elle pr´esente et sa robustesse aux va- riations des objets ( rotation, occlusion, ´echelle), notre m´ethode trouve ses limites avec des images de sc`enes r´eelles. cela est du aux r´esultats de la segmentation en effet la segmenta- tions peut ˆetre difficiles dans des sc`enes r´eelles car il est difficile d’extraire et de distinguer les objets dans ces images. La figure suivante montre un exemple de segmentation d’une sc`ene r´eelle. Figure 2.19 – R´esultat de segmentation dans une sc`ene r´eelle. Gauche : Image de la sc`ene. Droite : Image segment´ee, mˆeme si nous arrivons `a extraire les objets du fond, nous ne pouvons les distinguer. 2.3 Approche Couleur Dans l’approche pr´ec´edente la localisation ´etait bas´e sur la segmentation. H´elas les m´ethodes de segmentations les plus ´elabor´ees ne permettent pas de segmenter des sc`enes complexes. Nous proposons une autre approche pour la d´etection et la reconnaissance d’objets. Celle ci est diff´erente de la premi`ere, elle est bas´ee sur la description des objets `a l’aide de l’informa- tion couleur. Nous d´etaillons dans la suite de ce chapitre le syst`eme de reconnaissance con¸cu, la figure suivante illustre le syst`eme de reconnaissance. 47
  • 48. Figure 2.20 – Syst`eme de Reconnaissance de la seconde m´ethode. 2.3.1 Repr´esentation des objets La repr´esentation d’objets est bas´ee sur l’utilisation de la distributions des couleurs de l’objet, les couleur associ´es `a un objet sp´ecifique sont uniques. Un fruit, un arbre, un panneaux routier, une chaise ... etc. Chacun de ces objets `a une certaine distribution des couleurs qui lui est associ´e. L’opacit´e des objets peut ˆetre aussi une caract´eristique discriminative pour une instance donn´ee d’un objet. Nous avons d´ecrit un objet `a l’aide des composantes RGBα, ou alpha est l’information d’opacit´e. le processus du calcul du descripteur est d´ecrit comme suit : Normalisation La normalisation est une ´etape essentielle, les couleurs peuvent varier, le moindre chan- gement de couleur change donc la d´efinition du descripteur. Pour cela nous proposons la formule suivante pour normaliser les couleurs. E(Cx/D) ∗ D + D/2 E d´esigne la partie enti`ere, D repr´esente la quantification utilis´ee, elle d´esigne la limitation du nombre de couleurs diff´erentes que peu prendre une couleur. cette normalisation permet `a diff´erentes plages de valeurs d’avoir la mˆeme composante couleur. il s’agit de r´eduire le nombre de couleur possible. Signature Une fois les couleurs extraites, nous proc´edons au calcul des fr´equences d’apparition de celles ci, non pas de la mani`ere d’un histogramme car la structure d’un dictionnaire est diff´erentes de celle d’un histogramme et permet de d´efinir autrement les occurrences des 48
  • 49. couleurs. Le dictionnaire est stock´e sous forme de table de hachage ceci permet l’acc`es directe aux donn´ees (complexit´e o(1)). 2.3.2 Construction du mod`ele Cette ´etape permet de construire un mod`ele `a partie d’une base d’image nous calculons uns signature pour chaque objet de la base de la mani`ere suivante : Donn´ees : Bg :Image de fond. Fg :Image de la base avec objet. R´esultat : d3 :Descripteur de l’objet. Debut 1. Cr´eer les signatures des deux images Fg et Bg, d1 et d2 d´esigne dans l’ordre les descripteur de Fg et Bg. pour tout entr´ee C dans d2 faire si C n’existe pas dans d1 alors Ajouter C `a d3 avec freq(C) fin sinon /* si la couleur existe v´erifier si fr´equence est sup´erieur `a un certain seuil. */ si freq(C) dans d2 est >= `a seuil*freq(C) d1 alors Ajouter C `a d3 avec freq(C) fin fin fin Fin Algorithme 8: Algorithme de la premi`ere m´ethode. Une fois notre mod`ele construit, nous pouvons proc´eder `a la reconnaissance la d´emarche est diff´erentes de la premi`ere approche ( 1-Chebychev) nous cherchons a reconnaitre les objets du mod`ele de plus nous n’utilisons pas les techniques d’apprentissage automatique. Il s’agit de reconnaitre les instances d’objets et non des cat´egories d’objets. Cela dit si le mod`ele contient assez d’exemples d’instances nous pourrions consid´erer un ensemble d’instances portant le mˆeme label (la mˆeme cat´egorie) comme formant un sous ensemble d’une cat´egorie. Dans l’absolue ceci ne mod´elise pas r´eellement la cat´egorie, mais en pratique cela semble int´eressant et compl´ementaire. la dualit´e entre instances et cat´egories pourrait ˆetre d´epass´ee. En effet des m´ethodes d’aujourd’hui ne s’int´eresse qu’`a trouver une cat´egorie bien particuli`ere, exemple : voiture, pi´etons, visages. Et dans le cas des instances les syst`emes ne reconnaissent qu’un objet particulier `a un instant donn´ee. Nous pr´esentons une forme interm´ediaire aux deux aspects de la reconnaissance (instance et cat´egorie). Un autre point important est que cette mani`ere de proc´eder ´elimine le probl`eme de la va- riabilit´e intercalasse ainsi que le probl`eme de similarit´e interclasse. Le fait d’ˆetre aussi pr´ecis dans la description d’un instance d’objet ´elimine ces probl`emes par exemple : deux objets ap- partenant `a la mˆeme cat´egorie pourtant diff´erents obtiennent des descripteurs diff´erents, mais 49
  • 50. puisqu’ils porte le mˆeme label donc les objets seront retrouv´es, et inversement si deux objets n’appartiennent pas `a la mˆeme cat´egories peuvent ˆetre similaire et avoir des descripteurs proches nous pouvons tout de mˆeme les distingu´es. 2.3.3 Appariement Une fois mod`ele construit nous devons faire la correspondance entre les objets d’une sc`ene et le mod`ele . Nous expliquons dans ce qui suit notre d´emarche quant au Matching. Ayant une nouvelle image d’une sc`ene nous proc´edons tout d’abord au calcul de sa si- gnature de la mˆeme mani`ere d´ecrite pr´ec´edemment. Donc nous calculons les fr´equences des couleurs normalis´ee de toute la sc`ene, nous obtenons alors un dictionnaire des couleurs de la sc`ene. Donn´ees : I :Image de la sc`ene. R´esultat : L :liste d’objets pr´esents dans la sc`ene. Debut Cmp : compteur /* afin de calculer le pourcentage de valeurs existantes. */ 1. Cr´eer ds la signature de I. /* Charger le fichier descripteur de la base. */ pour tout descripteur d faire pour tout entr´ee C dans d faire si C existe dans ds alors Cmp=Cmp+1 /* incr´ementer */ fin fin si Cmp / taille d > seuil alors L< −− Label(d) fin fin Fin Algorithme 9: Algorithme de Matching. 2.3.4 Localisation des objets La localisation des objets est appliqu´ee par la m´ethode des fenˆetres glissante, cette m´ethode consiste `a parcourir l’image avec une fenˆetre rectangulaire balayant ainsi toute l’image. La signature de chaque fenˆetre est alors calcul´ee pour d´eterminer la pr´esence des objets reconnus. 50
  • 51. Tel qu’est d´efinit notre descripteur, la d´etection et reconnaissances d’objets pr´esente les avantages suivants : • Il est robuste `a la rotation, aux changement de point de vue, ainsi qu’aux changement d’´echelle. Notre syst`eme permet la d´etection d’objet partiellement occult´es ceci est rendu possible grˆace au seuil utilis´e pour la matching (voir section pr´ec´edente). • un autre avantage est la rapidit´e du calcul des descripteurs ainsi que la rapidit´e dans la phase de Mathcing. La m´ethode cependant rencontre les inconv´enients que nous ´enum´erons comme suit : • Morphologie : la couleur `a elle seule ne permet pas de retrouver l’objet il est possible que les couleurs d’un objet se trouve dans la sc`ene alors que l’objet n’y est pas pr´esent, il faut donc d´efinir une relation spatiales entre les points des objets. • La localisation des objets avec la m´ethodes des fenˆetres glissantes est couteuse en temps de calcul. Nous proposons une am´elioration afin de pallier `a ces probl`emes en int´egrant l’information spatiales de l’objet. Cette fois ci nous modifions les descripteurs en ajoutant les informations suivantes : Nous calculons d’abord le centre de l’image d’apprentissage, puis nous calculons certaines caract´eristiques de ce centre, ces caract´eristiques sont la couleur et le gradient. Le centre de l’image d’apprentissage ne repr´esente pas le centre de l’objet mais un point de l’objet. Le gradient test calcul´e avec le masque suivant : De plus nous choisissons 8 points,que nous deffinissons comme suit : Nous avons choisis 4 points du contours qui co¨ıncide avec les deux axes de l’image horizontal est vertical passant par le centre O nous les notons A, B, C, D (list´ee en rouge dans la figure 2.21). 51
  • 52. Figure 2.21 – Repr´esentation d’un objet en prenant en compte l’information spatiales de points d´efinis. Ainsi que les points `a mis distance les long des deux axes a, b, c, d , `a ces points nous calculons les distances par rapport au centre O ainsi que leurs couleurs nous calculons aussi un histogramme des normes de gradient des points a, b, c, d le descripteur devient alors : 2.3.5 Localisation Une fois objet reconnu (pr´esent) dans la sc`ene nous proc´edons `a la localisation de la mani`ere suivante : • Chercher tous les points de l’image ayant les mˆemes caract´eristiques (couleur, gradient) que le centre O. Figure 2.22 – calcul des points candidats. 52
  • 53. • Pour d´eterminer les bonnes postions nous utilisant le points suppl´ementaires, ensuite nous essayons de faire une superposition des 2 axes ( mod`ele de l’objet en constella- tion ) sur chacun des points candidats extraits pr´ec´edemment toujours en faisant un appariement en comparent les caract´eristiques calcul´ees pr´ec´edemment. Figure 2.23 – 2 Superposition des deux axes sur les diff´erents centres possibles, une seule superposition est correcte. Il faut n´eanmoins r´egler encore les probl`emes li´es `a l’´echelle ainsi qu’`a la rotation. L’´echelle : Nous avons proc´ed´e `a une normalisation du vecteur des distances, en multipliant le vecteur distance par un facteur multiplicatif. La rotation : Pour r´egler le probl`eme de la rotation, nous avons appliqu´e une rotation au vecteur des distances car la relation d’ordre entre les points est pr´eserv´ee lors de la rotation. Ceci pour les quartes angles principaux. Cette localisation est appliqu´ee `a tous les objets reconnus au pr´ealable. Ce qui la rend nettement plus rapide, compar´ee `a la m´ethode des fenˆetres glissantes. 2.3.6 Avantages Le principale avantage de cette approche est la rapidit´e pour des sc`enes complexes et des images `a haute r´esolution la r´eponse est quasiment instantan´ee. La localisation des objets est efficace et pr´ecise, ceci revient et ceci sans utiliser de segmen- tation. L’approche est robuste aux changement d’´echelle, rotation, ainsi qu’`a l’occlusion. 53
  • 54. 2.4 Conclusion Dans ce Chapitre, nous avons pr´esent´e en d´etails nos deux approches de d´etection et reconnaissance d’objets. Le troisi`eme et dernier chapitre sera consacr´e `a la pr´esentation des r´esultats obtenus qui seront soumis aux crit`eres de temps d’ex´ecution et celui de la pr´ecision pour valider nos approches. 54
  • 55. Chapitre 3 Impl´ementation Sommaire 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2.1 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2.2 Environnement mat´eriel . . . . . . . . . . . . . . . . . . . . . . . . 56 3.3 Pr´esentation de la base d’apprentissage . . . . . . . . . . . . . . 57 3.3.1 Base de donn´ees COIL-100 . . . . . . . . . . . . . . . . . . . . . . 57 3.3.2 Base de donn´ees ETH-80 . . . . . . . . . . . . . . . . . . . . . . . 58 3.3.3 Acquisition des deux bases . . . . . . . . . . . . . . . . . . . . . . 59 3.4 Pr´esentation de l’interface graphique . . . . . . . . . . . . . . . . 59 3.4.1 Premi`ere Approche . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.4.2 Deuxi`eme approche . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.4.3 Troisi`eme approche . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.5 Apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.5.1 Choix de la fonction du noyau . . . . . . . . . . . . . . . . . . . . 68 3.5.2 Principe de l’apprentissage . . . . . . . . . . . . . . . . . . . . . . 70 3.6 Exp´erimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.6.1 Matrice de confusion . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.6.2 Fonction d’efficacit´e du r´ecepteur ROC . . . . . . . . . . . . . . . 74 3.6.3 Taux de la reconnaissance des deux bases . . . . . . . . . . . . . . 75 3.6.4 Rappel et pr´ecision . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 55
  • 56. 3.1 Introduction Dans ce chapitre, nous allons tout d’abord d´ecrire l’environnement mat´eriel et logiciel de notre application, nous enchaˆınerons par la suite avec la pr´esentation d´etaill´ee de l’interface d´evelopp´ee et son fonctionnement, enfin nous terminerons par pr´esenter les r´esultats obtenus par les tests exp´erimentaux effectu´es. 3.2 Environnement de travail La structure de l’environnement de d´eveloppement de notre application est structur´ee comme suit : 3.2.1 Environnement logiciel Nous avons d´evelopp´e notre application `a l’aide des langages de programmations .NET, dont nous citons : • C# : qui est un langage orient´e objet de type s´ecuris´e et ´el´egant qui permet aux d´eveloppeurs de g´en´erer diverses applications fiables qui s’ex´ecutent sur le .NET Fra- mework. • Visual basic : con¸cu par Microsoft `a la fin des ann´ees 1990 [31], le Visual basic est un des langages de programmation les tr`es utilis´es dans le monde. Les programmes bien r´edig´es en Visual basic sont rapides et efficaces. Plus flexible, ce langage permet l’utilisation d’une large gamme d’application scientifique de hautes performances. Nous avons opt´e pour l’utilisation de ces deux langages car ils s’adaptent tr`es bien au domaine de traitement d’image. Nous avons choisi la biblioth`eque EMGU CV comme ´etant la biblioth`eque graphique sur laquelle nous appliquons nos diff´erents traitements d’images. EMGU est une biblioth`eque libre sp´ecialis´e dans le domaine de l’imagerie num´erique et le syst`eme de vision par ordina- teur dans un environnement .NET. Pour la conception de notre application et son interface graphique, nous avons utilis´e Visuel studio 2012 version ´etudiant, qui fournit un ´editeur de code avanc´e, des concepteurs d’inter- faces utilisateur pratiques, un d´eboguer int´egr´e et de nombreux autres outils pour faciliter le d´eveloppement d’applications bas´ees sur le langage.NET Framework. 3.2.2 Environnement mat´eriel Nous avons d´evelopp´e notre application sur deux machines qui ont pratiquement les mˆemes configurations suivantes : • Microprocesseur Intel Core i7 de fr´equence 2.4 de 4`eme g´en´eration ; • M´emoire vive RAM 8 Gb ; • Microsoft Windows 7 version 64 bits. 56
  • 57. 3.3 Pr´esentation de la base d’apprentissage L’objectif de notre travail est de proposer une nouvelle approche pour la d´etection d’objets dans une sc`ene. Pour pouvoir r´ealiser cela, il nous a fallu r´ecolter des bases d’images portant sur le sujet. Dans cette section, nous d´ecrivons les caract´eristiques des bases de donn´ees utilis´ees ainsi nous allons pr´esenter quelques exp´eriences dans lesquelles la performance de plusieurs m´ethodes sont compar´ees et discuter les r´esultats empiriques obtenus. 3.3.1 Base de donn´ees COIL-100 La base de donn´ees sur laquelle nous avons appliqu´e l’algorithme d’apprentissage est Columbia Object Image Library (COIL) , [32] . Cette base contient 7200 images en couleurs de 100 objets diff´erents (72 images par objet), o`u les images des objets ont ´et´e prises `a des intervalles de pose de 5 degr´es. Les images ont aussi ´et´e normalis´ees tel qui le plus grand des deux dimensions de l’objet (hauteur et largeur) soit ´egale `a 128 x 128 pixels. Les objets ont une grande vari´et´e de g´eom´etrie complexe et de caract´eristiques diff´erents, la figure ci-dessous montre les 100 objets de la base prises en vue frontale. Figure 3.1 – Objets de la base de donn´ees Columbia Object Image Library. 57
  • 58. 3.3.2 Base de donn´ees ETH-80 La base d’images ETH-80 [33] Zurich contient un ensemble d’objets naturels et artificiels organis´es en huit cat´egories qui sont respectivement : Pomme, tomate, chien, cheval, vache, voitures, poire et verre. Pour chaque cat´egorie d’objets, dix objets diff´erents sont fournis, o`u chaque objet est repr´esent´e par 41 images diff´erentes qui sont prises par un multiple point de vus diff´erents. Cela r´esulte un ensemble de 3280 images. Figure 3.2 – Objets de la base de donn´ees ETH-80. 58
  • 59. 3.3.3 Acquisition des deux bases • COIL-100 : Chaque objet a ´et´e plac´e dans une configuration stable `a peu pr`es au centre d’une plaque tournante, La table tournante a ´et´e tourn´e de 360 degr´es et 72 images ont ´et´e prises par objet (une image chaque 5 d´egr´ees de la rotation). • ETH-80 : De mˆeme pour cette base d’images, o`u chaque objet a ´et´e plac´e dans une table tournante, avec l’exception de l’utilisation de plusieurs cam´eras chacune d’elles prend d’autres images diff´erentes de l’objet. Figure 3.3 – Acquisition de la base COIL-100. 3.4 Pr´esentation de l’interface graphique L’application qui permet d’effectuer les diff´erentes tˆaches de la d´etection d’objets est con¸cue de telle mani`ere `a faciliter l’interaction avec l’utilisateur. Nous avons d´evelopp´e deux approches dont l’interface et son explication sont pr´esent´ees dans ce qui suit : 3.4.1 Premi`ere Approche D´etection et reconnaissance d’objets en utilisant les moments de Chebyshev. • Interface d’accueil 59
  • 60. Figure 3.4 – Interface d’accueil l’application. L’interface principale est devis´ee en trois parties, de gauche `a droite nous remarquons l’ensemble des boutons permettant l’interaction avec l’application ainsi que ses diff´erentes fonctionnalit´es que nous allons expliquer ult´erieurement. Ensuite, nous affichons les traces de l’ex´ecution pour donner plus de d´etails sur le processus ainsi que les diff´erent temps de calculs. La troisi`eme partie permet de visualiser les r´esultats de la d´etection, la segmentation et la reconnaissance des objets de l’image de la sc`ene. Avant de commencer, nous devons tout d’abord choisir l’une des bases, COIL-100 ou ETH- 80. Figure 3.5 – Choix d’une base de donn´ees. En cliquant sur le bouton ‘Parcourir l’image’, une fenˆetre s’affiche pour choisir l’image de la sc`ene. 60
  • 61. Figure 3.6 – Choix de l’image de la sc`ene. Une fois l’image est charg´ee, on l’affiche dans notre interface comme illustr´ee par la figure ci-dessous, ainsi on peut commencer le traitement. Figure 3.7 – Affichage de l’image de la sc`ene 61
  • 62. La tˆache de la d´etection d’objets est bas´e sur trois ´etapes indispensable : la cr´eation du descripteur de l’image, la segmentation, la reconnaissance. Segmentation Nous commen¸cons par la segmentation en utilisant notre m´ethode de segmentation am´elior´ee (voir le chapitre II pour plus d’informations), en cliquant sur le bouton Segmentation , le r´esultat de la segmentation est affich´e comme suit : Figure 3.8 – Segmentation de l’image. Reconnaissance La prochaine ´etape est la reconnaissance des objets dans la sc`ene apr`es sa segmentation, Cette ´etape se d´eroule en trois parties qui sont : • Extraction des objets de la sc`ene ; • Calcul des descripteurs de chaque objet `a l’aide des moments de Chebyshev ; • Introduire les descripteurs comme entr´ee dans la fonction de reconnaissance ; • Phase de reconnaissance des objets qui est fait apr`es l’apprentissage des bases (voir la deuxi`eme partie de ce chapitre pour plus d’informations sur le processus d’apprentis- sage). 62