AMELIORATION DE L’IMAGE PAR LES RESEAUX DE NEURONES
Rehaussement de contraste
Le rehaussement des images est appliqué afin de faciliter l’interprétation visuelle et la compréhension des images. [Naciri & Chaoui, 03] Rehausser le contraste de l’image consiste à diminuer l’étendue de la zone de transition sans affecter l’intensité moyenne des régions situées de part et d’autre (Erreur ! Source du renvoi introuvable.). On limite ainsi le risque de fusion intempestive de régions distinctes lors de la phase de segmentation. L’opérateur de rehaussement de contraste devra, si possible, réduire le bruit dans les zones stationnaires et éviter les phénomènes de dépassement. Ce type d’opérateur est réalisable au moyen de méthodes linéaires ou non linéaires. [Cocquerez & Philipp, 98] Dans une image brute, les informations utiles sont souvent contenues dans un ensemble restreint de valeurs numériques parmi les valeurs possibles (256 dans le cas de données à 8 bits). Le rehaussement des contrastes se fait en changeant les valeurs initiales de façon à utiliser toutes les valeurs possibles, ce qui permet d’augmenter le contraste entre les cibles et leur environnement. Il est possible de produire différents types de rehaussements. Il existe plusieurs méthodes qui permettent de rehausser le contraste et les détails d’une image. Nous n’en décrirons que quelques-unes :
• La méthode la plus simple est un rehaussement linéaire du contraste. Afin d’appliquer cette méthode, on identifie les limites supérieures et inférieures d’intensité représentées sur l’histogramme (les valeurs minimales et maximales), et à l’aide d’une transformation linéaire, on étire ces valeurs sur l’ensemble des valeurs disponibles. Dans l’exemple suivant, la valeur minimale des données initiales dans l’histogramme est de 84 et la valeur maximale est de 153. Ces 70 niveaux n’occupent qu’un tiers des 256 valeurs disponibles. Un rehaussement linéaire étire de façon uniforme cet intervalle afin d’utiliser la totalité des valeurs de 0 à 255. Ce procédé rehausse le contraste dans l’image en pâlissant davantage les régions claires de l’image et en assombrissant davantage les régions plus foncées. Ceci facilite l’interprétation visuelle.
• Un étirement uniforme des valeurs initiales sur l’ensemble des valeurs disponibles n’est pas toujours approprié, particulièrement lorsque la distribution initiale n’est pas uniforme. Dans certains cas, un étirement pondéré de l’histogramme peut donner de meilleurs résultats. Cette méthode assigne un intervalle de valeurs plus grand dans les portions de l’histogramme pour lesquelles les valeurs d’intensité ont une fréquence plus élevée. De cette façon, les détails de ces régions seront mieux rehausser que les détails des régions pour lesquelles la fréquence des valeurs d’intensité de l’histogramme est plus faible. Dans d’autre cas, il peut être préférable de rehausser le contraste dans une portion spécifique de l’histogramme.
• Les filtres spatiaux représentent une autre méthode de traitement numérique dans le cas de rehaussement d’une image. Ces filtres sont conçus de façon à faire ressortir ou supprimer des caractéristiques spécifiques d’une image en se basant sur leur fréquence spatiale.
La méthode de filtrage spatial consiste à déplacer une fenêtre d’une dimension de quelque pixels (ex : 3 sur 3, 5 sur 5, etc.) au-dessus de chaque pixel de l’image. On applique alors un traitement mathématique utilisant les valeurs des pixels sous la fenêtre et on remplace la valeur du pixel centrale par le résultat obtenu. La fenêtre est délacée le long des colonnes et des lignes de l’image, un pixel à la fois, répétant le calcul jusqu’à ce que l’image entière ait été filtrée. En modifiant le calcul effectué à l’intérieur de la fenêtre, il est possible de rehausser ou de supprimer différents types de caractéristiques présentes dans une image. [Naciri & Chaoui, 03]0
Les Réseaux de neurones
Le rêve de créer une machine dotée d’une forme d’intelligence est présenté depuis longtemps dans l’imagination humaine. Aujourd’hui en intelligence artificielle, on en est encore qu’aux débuts. On arrive tout juste à créer des comportements intelligents primitifs à l’aide des réseaux de neurones qui se sont inspirés des réseaux de neurones biologiques. Les réseaux de neurones sont en passe de devenir une composante incontournable de l’aide à la décision. Technique fortement stimulée par la vogue du Data Mining, l’analyse neuronale arrive aujourd’hui à un degré de maturité lui permettant de traiter un bon nombre de problèmes. Les progrès théoriques, l’expérience croissante et l’étude de nouvelles structures neuro-mimétiques semblent très prometteurs pour la résolution quasi-optimale de nombreux problèmes de grande complexité telles que la reconnaissance de formes, le traitement du signal, l’apprentissage, la mémorisation ou la généralisation. Ces applications sont pourtant, malgré tous les efforts déployés en algorithmique et en intelligence artificielle, que très mal imitées par les machines. Dans ce qui suit, nous allons décrit l’approche neuronal en détaille (définition, les différents architectures, domaine d’application…).
Le champ des réseaux neuronaux va démarrer par la présentation en 1943 par W. McCulloch et W. Pitts du neurone formel qui est une abstraction du neurone physiologique. Le retentissement va être énorme. Par cette présentation, ils veulent démontrer que le cerveau est équivalent à une machine de Turing, la pensée devient alors purement des mécanismes matériels et logiques (une machine de Turing se résume à une tête de lecture comportant un nombre fini d’états internes et à un ruban). En 1949, D. Hebb présente la première règle d’apprentissage. De nombreux modèles de réseaux aujourd’hui s’inspirent encore de la règle de Hebb. En 1958, F. Rosenblatt développe le modèle du perceptron. C’est le premier système artificiel capable d’apprendre par expérience. Dans la même période, Le modèle de L’Adaline (ADAptive LINar Element) a été présenté par B. Widrow et Hoff. Ce modèle sera par la suite le modèle de base des réseaux multicouches. En 1969, M. Minsky et S. Papert publient une critique des propriétés du Perceptron. Cela va avoir une grande incidence sur la recherche dans ce domaine. Elle va fortement diminuer jusqu’en 1972, où T. Kohonen présente ses travaux sur les mémoires associatives et propose des applications à la reconnaissance de formes. En 1982, Hopfield a remis à la mode le connexionnisme en donnant une architecture solide inspirée de la physique.
Les réseaux de neurones informatiques sont une partie de l’intelligence artificielle dont l’application s’élargit de jour en jour. Parmi les plus connues, la lecture des codes postaux, la reconnaissance de visages, le filtrage d’images, la reconnaissance des formes. Cette technique s’utilise quand certaines conditions sont réunies en voici deux principales : Pas de règles clairement définies beaucoup d’exemples Le réseau se compare un peu à une boite noire : on met d’un côté les informations et de l’autre on obtient une décision. Dans un réseau informatique les informations sont en général présentées comme allant de gauche à droite. Chaque neurone collecte les informations venant des neurones précédents et en déduit une information à transmettre aux neurones suivants. Chaque neurone donne plus ou moins d’importance à certaines des informations qu’il reçoit. L’apprentissage consiste à trouver les ajustements pour qu’il accorde la bonne importance à la bonne information. Pour cela, à chaque prévision faite par le réseau au moment de son apprentissage on lui présente la réponse qu’il aurait dû sortir. Il analyse les écarts pour s’adapter. Cet apprentissage supervisé a pour inconvénient que l’on ne saura pas comment fait le réseau pour travailler. Par contre, une fois l’apprentissage fait, en utilisation le réseau ne fait que des opérations mathématiques, ce qui permet de faire un travail à une rapidité permettant des applications en temps réel. [14]
Conclusion Générale et Perspectives
Depuis l’apparition des réseaux de neurones en informatique vers les années 40, ils ont déjà été utilisés dans un grand nombre d’applications très diverses et ont permet d’obtenir de meilleurs résultats à certains types de problèmes que ceux obtenus par les autres méthodes Les exemples utilisant les réseaux de neurones les plus connus sont NetTalk, pour la diction de textes écrits en anglais. Ils ont été aussi utilisés en robotique pour par exemple apprendre à marcher à un robot à six pattes, ou dans des jeux de vie artificielle, comme le jeu bien connu du grand public, Créatures, utilisant aussi les algorithmes génétiques. Dans le traitement d’image, les réseaux de neurones sont aussi de plus en plus utilisés. Lors de la réalisation des différentes applications, telle que la compression, la détection de contours, l’extraction de régions, la reconnaissance de textures, la reconnaissance de caractères et la vision stéréoscopique, les réseaux de neurones ont permet d’obtenir de meilleurs résultats. Dans notre projet nous avons exploité cette puissance et cette souplesse des réseaux de neurones pour concevoir et implémenter un réseau de neurones multi couche pour l’amélioration de la qualité d’image bruitée. Dans l’ensemble, les résultats obtenus par le réseau de neurones dans le domaine de traitement d’images sont intéressants. Ce travail ouvre la voie vers diverses perspectives de recherche, l’utilisation d’autres types de réseaux de neurones tel que Hopfield, pour la restauration d’images, permettant peut être d’avoir de meilleurs résultats, dans la restauration d’images.
|
Table des matières
TABLES DES FIGURES
INTRODUCTION GENERALE
CHAPITRE I GENERALITES SUR LE TRAITEMENT D’IMAGE
I.1. Introduction
I.2. Historique
I.3. Notions de base
I.3.1. Le traitement d’Image
I.3.2. L’image
I.3.3. Image numérique
I.3.4. Caractéristiques de l’image
I.4. Système de traitement d’image
I.4.1. Acquisition et numérisation
I.4.2. Visualisation
I.5. Prétraitement d’image
I.5.1. Modification d’histogramme
I.5.2. Réduction de bruit
I.5.3. Rehaussement de contraste
I.6. Techniques de traitement d’images
I.6.1. Filtrage
I.6.2. Segmentation
I.6.3. Binarisation
I.7. Conclusion
CHAPITRE II LES RESEAUX DE NEURONES
II.1. Introduction
II.2. Historique & définition
II.2.1. Historique
II.2.2. Définition
II.3. Neurone biologique
II.3.1. Le neurone
II.3.2. Le fonctionnement
II.4. Neurone formel
II.4.1. Synoptique
II.4.2. Le fonctionnement
II.5. Architecture des réseaux de neurones
II.5.1. Réseaux multicouches
II.5.2. Réseaux à connexions locales
II.5.3. Les réseaux de neurones récurrents
II.5.4. Les réseaux de neurones à connexion complète
II.6. Apprentissage des réseaux de neurones
II.6.1. Définition
II.6.2. Techniques d’apprentissage
II.7. Apprentissage dans quelques réseaux célèbres
II.7.1. Perceptron
II.7.2. Réseaux multicouches
II.7.3. ADALINE
II.7.4. Les réseaux de HOPFIELD
II.7.5. Les réseaux de KOHONEN
II.7.6. Les réseaux RBF
II.8. Les étapes de la conception d’un réseau
II.8.1. Choix des échantillons
II.8.2. Elaboration de la structure du réseau
II.8.3. Apprentissage
II.8.4. Validation et tests
II.9. Les avantages et les inconvénients
II.10. Conclusion
CHAPITRE III AMELIORATION DE L’IMAGE PAR LES RESEAUX DE NEURONES
III.1. Introduction
III.2. Intérêt des réseaux de neurones dans le traitement d’image
III.3. Le principe utilisé
III.4. Architecture proposée du réseau de neurones
III.4.1. Architecture du réseau
III.4.2. Parcours de l’image
III.4.2.1. Le parcours automatique
III.4.2.2. Le parcours aléatoire
III.4.3. Apprentissage
III.4.4. Tests du réseau de neurones
III.5. Conclusion
CHAPITRE IV IMPLEMENTATION & SIMULATION
IV.1. Introduction
IV.2. Environnement de développement
IV.3. Description de l’application
IV.3.1. Partie traitement d’image
IV.3.2. Traitement par réseaux de neurones
IV.3.3. Phase des tests & résultats
IV.3.4. Conclusion
CONCLUSION GENERALE ET PERSPECTIVES
REFERENCES BIBLIOGRAPHIQUES
Télécharger le rapport complet