APPLICATION DE Reconnaissance Des Formes
LA RECONNAISSANCE DES FORMES
On désigne par reconnaissance de formes (ou parfois reconnaissance de motifs) un ensemble de techniques et méthodes visant à identifier des motifs à partir de données brutes afin de prendre une décision dépendant de la catégorie attribuée à ce motif. On considère que c’est une branche de l’intelligence artificielle qui fait largement appel aux techniques d’apprentissage automatique et aux statistiques. Les formes ou motifs à reconnaître peuvent être de nature très variée. Il peut s’agir de contenu visuel (code barre, visage, empreinte digitale…) ou sonore (reconnaissance de parole), d’images médicales (rayon X, EEG, IRM…) ou multi spectrales (images satellitaires) et bien d’autres. Watanabe [1] a défini une forme comme: « l’opposé du chaos; c’est une entité vaguement définie, à laquelle ont peut associer un nom ». En des termes informatiques, une forme est un ensemble de valeurs, appelés attributs, auxquels est associé un nom (ou étiquette), qui est leur classe. Plusieurs formes peuvent avoir la même classe, on dit alors que ce sont les exemples ou réalisations de la classe. Le problème que cherche à résoudre la reconnaissance des formes est d’associer une classe à une forme inconnue (qui n’a pas encore de classe associée). On considère souvent la Reconnaissance des formes comme un problème de classification: trouver la fonction qui affecte à toute forme inconnue sa classe la plus pertinente. Elle est partie intégrante de tout système intelligent destine à la prise de decision [2].
HISTORIQUE
Or que ce soit pour déchiffrer un texte dactylographié ou manuscrit, pour compter des chromosomes, reconnaître une tumeur, un char ou un avion de guerre, la compréhension de l’image, sa classification passe toujours par la reconnaissance d’une forme. « Plusieurs approches théoriques ont été développées », explique Olivier Faugeras. « Les premières consistaient à faire des calculs à partir de l’image et construire des représentations symboliques de plus en plus complexes, d’abord en deux dimensions tel que sur l’image, puis tridimensionnelles, pour tenter de restituer une description proche de notre propre vision. » Un peu partout dans le monde, les chercheurs ont mis au point des méthodes mathématiques permettant de détecter les contours des objets à partir des changements rapides de contraste dans l’image, des ombres et des lumières, des régions homogènes en couleur, en intensité, en texture.
« Dès 1964, des chercheurs français, Georges Matheron (1930-2000) et Jean Serra, ont développé une autre approche théorique (baptisée morphologie mathématique) et un outil spécifique (l’analyseur de texture breveté en 1965, ndlr) d’abord pour analyser des microphotographies de terrain et évaluer des teneurs en minerai, puis pour d’autres applications comme la cytologie (caractérisation et comptage de cellules) » rappelle Olivier Faugeras. En 1968, ils créent le Centre de morphologie mathématique de l’Ecole des Mines de Fontainebleau. Leurs outils d’analyse et d’interprétation d’images sont longtemps restés franco-français, jusqu’à ce qu’un américain, Robert Haralick (Université du Kansas à cette époque, de Seattle actuellement), en fasse une large publicité dans les années 1980, en les adaptant à de nombreuses applications : industrielles comme l’inspection radiographique des ailes d’avions de Boeing, aériennes ou médicales [19]. D’autres chercheurs, comme les américains Marvin Minsky et Seymour Papert du MIT (Massachussets Institute of Technology) ont considéré le problème dans l’autre sens, en cherchant à formaliser et à faire reproduire par l’ordinateur notre propre processus de reconnaissance d’images, donc notre propre vision. Cette démarche était dans l’air du temps, au coeur des promesses de « l’intelligence artificielle » qui devait permettre de mettre l’intelligence en équations et doter les ordinateurs de toutes les capacités humaines de raisonnement, mémoire, perception. Or la vision s’est révélée être un domaine particulièrement complexe à modéliser tant elle est basée sur une quantité phénoménale de connaissances à priori fondée sur notre intelligence et notre expérience [3].
TRAITEMENT D’IMAGE
L’image fournie par le capteur est transformée en un signal électrique. De ce signal il faut extraire les informations recherchées sur le contenu de la scène dont l’image a été captée. Les premières bases du traitement d’images sont directement issues du traitement du signal, phénomène normal puisque toute image, qu’elle soit continue ou numérique, peut être considérée comme un signal à 2 dimensions. La vision n’est pas un domaine facile, car repérer un objet simple dans une image demande beaucoup d’opérations. L’objectif de ce travail est de montrer comment il est possible de développer des algorithmes de traitement d’images pour réaliser par exemple une segmentation et détection d’objets dans une image. Le traitement, souvent appelé prétraitement, regroupe toutes les techniques visant à améliorer la qualité d’une image.
De ce fait, la donnée de départ est l’image initiale et le résultat est également une image. La représentation la plus élémentaire correspond à l’image binaire pour laquelle chaque pixel ne peut prendre qu’une valeur parmi deux autres. Pour les images monochromes, chaque pixel peut prendre une valeur parmi N. N correspond généralement à une puissance de 2, ce qui facilite la représentation de l’image en machine. Par exemple, pour une image en niveau de gris chacun des pixels peut prendre une valeur parmi 256. Sa valeur est alors codée par un octet de donnée. Une image est constituée par une matrice X lignes et Y colonnes de pixels chacun codé par x bits. Les données quantitatives liées à la représentation des images sont représentées dans le tableau suivant (Table 1.3):
Dans notre cas l’image est considérée comme une image couleur 320*240 où chaque couleur est codée sur 8 bits. On obtient ainsi environ 786 Ko de données nécessaires pour stocker cette image. La figure 1.4 représente une image correspondant à la représentation RGB (Red , Green Bleu) , on associe un octet à chaque pixel pour définir le niveau d’intensité du pixel la transformation d’une image en niveau de gris, on associe un octet à chaque pixel pour définir le niveau de gris du pixel (255 pour le blanc et 0 pour le noir).
SEGMENTATION DES IMAGES
La segmentation est une étape essentielle en traitement d’images et reste un problème complexe. La segmentation est un processus de la vision par ordinateur, généralement c’est la première étape de l’analyse d’image qui vient après le prétraitement. La segmentation est l’extraction de caractéristiques de l’objet, ce qui permet une distinction entre l’objet et le fond. Elle aide à localiser et à délimiter les entités présentes dans l’image. Il existe une multitude de méthodes de segmentation dont l’efficacité reste difficile à évaluer. La segmentation des images est le procédé qui conduit à un découpage de l’image en un nombre fini de régions (ou segments) bien définies qui correspondent à des objets, des parties d’objets ou des groupes d’objets qui apparaissent dans une image. C’est une transformation très utile en vision artificielle. Une erreur dans la segmentation de la forme à reconnaître augmente forcément le risque d’une mauvaise reconnaissance. Essentiellement, l’analyse de l’image fait appel à la segmentation où l’on va tenter d’associer à chaque pixel de l’image un label en s’appuyant sur l’information portée (niveaux de gris ou couleur), sa distribution spatiale sur le support image, des modèles simples (le plus souvent des modèles géométriques).
|
Table des matières
INTRODUCTION GENERALE
Chapitre1 : Reconnaissance Des Formes
1.INTRODUCTION
2.LA RECONNAISSANCE DES FORMES
2.1 DEFINITION
2.2 HISTORIQUE
3.METHODES
3.1 METHODES DE RECONNAISSANCE DE FORMES
4.LA RECONNAISSANCE DE PLUSIEURS OBJETS DANS UNE IMAGE
5.APPLICATIONS TYPIQUES DE LA RECONNAISSANCE DES FORMES
6.SCHÉMA GÉNÉRAL D’UN SYSTÈME DE RECONNAISSANCE DES FORMES
6.1 PRÉPARATION DES DONNÉES
Numérisation
Prétraitement
Calcul des représentations
6.2 Apprentissage
6.3 Classification
6.4 Post traitement
7.TRAITEMENT D’IMAGE
7.1 PRÉTRAITEMENT OU TRAITEMENT BAS NIVEAU
7.1.1 DÉFINITION D’IMAGE
7.1.2 DÉFINITION PIXEL
7.1.3 IMAGE EN NIVEAU DE GRIS
-FILTRE GAUSSIEN
-DU CONTINU AU DISCRET
8.SEGMENTATION DES IMAGES
8.1 LES PRINCIPES DE LA SEGMENTATION
La segmentation par régions
La segmentation par seuillage
b.1 Détection automatique du seuil
b.2 Seuillage à hystérésis
La segmentation par contours
c.1 Détection de contours
c.2 Détection de contours par la méthode de Canny
La transformée de Hough
Chapitre 2: Mise en place d’une application de Reconnaissance de Formes
1.INTRODUCTION
2.PRESENTATION DE LA LIBRAIRIE OPENCV
2.1 HISTORIQUE
2.2 QU’EST-CE QUE OPENCV
2.3 FONCTIONNALITES
Traitement d’images
Traitement vidéo
2.4 MODULES OPENCV
CxCore (Coeur d’OpenCV)
HighGui (librairie d’interfaçage graphique)
ImgProc (traitement d’image)
Vidéo (traitement de flux vidéo)
ObjDetect (détection d’objets)
ML (librairie d’apprentissage automatique)
Calib3D
2.5 MICROSOFT VISUAL STUDIO 2010
3 ENVIRONNEMENT DU TRAVAIL
3.1 ENVIRONNEMENT MATERIEL OU LE HARDWARE
3.2 ENVIRONNEMENT IMMATERIEL OU LE SOFTWARE
4 DIAGRAMME DE CLASSES
5 INTERFACES DE L’APPLICATION
6 CONCLUSION
CONCLUSION GENERALE
Références bibliographiques
Télécharger le rapport complet