Algorithmique : Application des réseaux de neurones artificiels en traitement d’images

Depuis la vulgarisation des appareils de numérisation, que ce soient optiques ou acoustiques, les images numériques deviennent un support d’informations incontournable et la manipulation des ces images ouvre de nombreux horizons pour les chercheurs. Le traitement d’images est un domaine très vaste qui a connu et qui connaît encore un développement important depuis ces quelques dix derrières années. Il est devenu le point commun entre de nombreux domaines de recherche comme l’imagerie et la robotique médicale, l’analyse de photos satellites, la télédétection, la reconnaissance manuscrite dans le domaine bancaire, l’autoguidage aéronautique et tant d’autres.

De nombreuses recherches ont fait appel à du traitement d’images et beaucoup d’entre elles ont marqué l’histoire. Dès les années 1950, dans le domaine de la physique nucléaire, des chercheurs ont eu recours au traitement d’images pour déterminer les trajectoires complexes des particules après une collision d’atomes ; il leur fallait analyser aux alentours de 10 000 à 100 000 images par expérience pour déterminer les trajectoires de milliers de particules. Dans les années 1960, les recherches sur la lecteur optique de reconnaissance de caractères dactylographiques ont commencé. En 1969, la première machine à lire automatiquement les textes imprimés fut fonctionnelle et en 1976, le système complet de reconnaissance de caractères dactylographiés fut créer. L’interprétation automatisée des images est aussi une idée qui est apparue dès le début des année 1960 ; l’objectif était de faire un pré-traitement d’images par les ordinateurs mais les résultats ne sont pas aussi concluants que les évaluations d’un expert et peu après les recherches s’orientaient vers la reconnaissance de forme.

La reconnaissance de forme est devenue la clé de la compréhension de l’image. Plusieurs approches théoriques ont été développées, permettant de détecter les frontières des objets par les changements de contraste, de luminosité et la détection de texture. D’autre approche théorique comme la morphologie mathématique de Georges Matheron et Jean Serra a connu le jour dans les années 1964. D’autres chercheurs comme Marvin Minsky et Seymour Papert ont adopté d’autre méthode en tentant de reproduire par l’ordinateur le processus humain de reconnaissance d’image et introduisent la notion d’intelligence artificielle dans le traitement d’images.

Traitement d’images 

Une image est considérée comme une représentation visuelle, voire mentale, de quelque chose (objet, être vivant et/ou concept), mais en informatique, elle est considérée comme une quantité d’information visuelle sous une certaine représentation. Il est difficile de bien définir la notion d’image car elle peut se différencier de la notion de vision. Si nous prenons exemple l’image issue d’une Imagerie par Résonance Magnétique ou IRM, il s’agit plutôt d’une acquisition de données par captage que d’une image, pourtant le traitement de ces données entre dans le domaine d’application du traitement d’images.

Image numérique 

De la manière la plus usuelle, une image numérique est une matrice dont chaque composant élémentaire est appelé ’pixel’ ou picture element en anglais. Un pixel permet de coder l’information relative à l’intensité de lumière en une certaine position. Si l détermine le nombre de lignes de pixels et c le nombre de colonnes de pixels, un pixel p est définit par la valeur v qui représente les intensités lumineuses en ce point et ses coordonnées (i , j) où i et j appartiennent respectivement à {1 , l} et {1 , c}.

Pour représenter une image en niveaux de gris,la valeur v peut être codée sur 1 bit (codage binaire), sur 4 bits (v ∈ {0,15}) ou sur 8 bits(v ∈ {0,255}). Dans une image en couleur, v prend trois intensités lumineuses ; dans le cas courant ces trois intensités sont les couleurs rouge, verte et bleue. Le codage de ces couleurs de base se fait sur 24 bits (vR ∈ {0,255}, vV ∈ {0,255}, vB ∈ {0,255}).

Par ailleurs,nous pouvons représenter une image par une fonction f définie par :

f : I × J → V

(i, j) → p(i, j)

Les ensembles I et J peuvent être continus ou discrets. La représentation continue nous permet de voir l’image comme une surface. En pratique, pour lire une image numérique, nous devons parcourir tous les pixels à l’aide de deux boucles imbriquées.

Stockage des images

Nous allons voir maintenant les formats de fichiers de stockage des images en mémoire. En général, le format de stockage d’une image est en fonction de la compression, du nombre de couleurs supportées, du type (matriciel ou vectoriel) et du codage (ASCII ou binaire).

Format avec compression
Avec ce type de stockage, nous altérons l’image suivant une méthode bien définie pour réduire sa taille sans pour autant perdre les informations essentielles contenues dans le fichier. Les transformations issues des algorithmes de compression d’image sont appliquées directement aux pixels ou à des transformées dérivées de l’image originale. Nous distinguons deux types de compression :
– compression sans pertes : TIFF (avec algorithme LZW), GIF (pour les images à 8 bits), PNG (sous licence GNU)
– compression avec pertes : JPEG, JPEG 2000 .

Format sans compression
Aucune altération n’est apportée à l’image, elle est stockée telle qu’elle a été générée par le système de numérisation. Nous distinguons les formats :
– pbm : c’est le format le plus simple, ce format permet de stocker des images en noir et blanc, les pixels ne prennent que l’une des valeurs 0 (noir) ou 1 (blanc).
– pgm : ce format représente les images en niveaux de gris dont les pixels ont des valeurs entières comprises entre 0 (noir) et 255 (blanc).
– ppm : ce format concerne les images couleurs dont un pixel prend en valeur un triplet (R, G, B) formé par les composants rouge, verte et bleue. Chaque composant est représenté par une valeur qui se trouve dans l’intervalle [0, 255] .

A titre d’exemple, le triplet (0,0,0) correspond à la couleur noire, (255,0,0) représente la couleur rouge et (0,255,0) définit la couleur verte.

Réseau de Neurones Artificiels 

Données neurologique

Neurone biologique

Le système nerveux est une structure complexe et fascinante, c’est le support de notre identité, notre pensée, notre mémoire, nos émotions et toutes les sensations que nous vivons à chaque instant. Il nous permet de voir, d’écouter, de sentir, de découvrir et d’agir avec l’environnement auquel nous appartenons. Le système nerveux est un tissu constitué principalement de deux grandes catégories de cellules : les neurones (unités fonctionnelles) et les cellules gliales [9] qui sont des cellules de soutien de neurones[16]. Dans notre étude, nous nous intéressons particulièrement aux unités fonctionnelles.

Anatomie d’un neurone typique

Un neurone est l’unité structurelle et fonctionnelle du système nerveux, il se divise en trois parties bien distinctes : le corps cellulaire, les dendrites et l’axone . Le corps cellulaire, appelé également soma ou péricaryon, est le lieu de synthèse et stockage des protéines. C’est le point de passage obligatoire et régulateur du trafic des petites vésicules[10]. Les dendrites sont des extensions du soma, elles servent essentiellement à augmenter la surface de réception des influx nerveux. Elles sont souvent recouvertes de structures en forme de bourgeons appelées épines dendritiques. Un neurone typique contient plusieurs dizaines de milliers d’épines dendritiques dont chacune forme une synapse [10]. L’axone émerge du soma en format tout d’abord un cône d’émergence qui est le point de départ de l’influx nerveux, l’axone décrit un trajet plus ou moins long avant de se terminer par une arborescence terminale. Celle ci donne plusieurs terminaisons nerveuses, au bout de chacune d’elles se trouve le bouton terminal ou bouton synaptique qui comporte plusieurs vésicules synaptiques remplies de neurotransmetteurs .

Particularités de la cellule nerveuse

Le neurone biologique présente plusieurs caractéristiques qui le distinguent des autres cellules du l’organisme. Il est excitable. Le neurone reçoit et transmet des signaux électrochimiques grâce à la présence des régulateurs, au niveau de sa membrane, qui transferent des ions vers l’intérieur ou l’extérieur de la cellule [11]. Il est dit sécréteur car il produit des neurotransmetteurs, au niveau de sa terminaison axonale[11]. Il est polarisé. Sur un neurone, nous pouvons distinguer deux pôles essentiels, l’arbre somato-dendritique qui reçoit le signal et le pôle axonale qui propage des signaux. Cependant l’axone peut recevoir un signal directement au niveau d’une synapse axo-axonale .

Cette cellule est polymorphique car nous distinguons selon leur forme trois grandes catégories de neurones [11] :
– Les neurones unipolaire ou pseudo-unipolaires :souvent sensorielles.
– Les neurones bipolaire : par exemple les inter neurones.
– Les neurones multipolaires : le cas des neuromoteurs.

Table des matières

Introduction
1 Traitement d’images
1.1 Introduction
1.2 Image numérique
1.2.1 Stockage des images
1.2.1.1 Format avec compression
1.2.1.2 Format sans compression
1.2.2 Histogramme et contraste
1.2.2.1 Histogramme d’une image
1.2.2.2 Transformation d’histogrammes
1.3 Traitement d’images
1.3.1 Détection de frontières
1.3.1.1 Gradient et Laplacien
1.3.1.2 Masques de convolutions
1.3.2 Transformée de Hough
1.3.2.1 Détection de droites
1.3.2.2 Détection de courbes
1.4 Conclusion
2 Réseau de Neurones Artificiels
2.1 Données neurologique
2.1.1 Neurone biologique
2.1.1.1 Anatomie d’un neurone typique
2.1.1.2 Particularités de la cellule nerveuse
2.1.2 Vision humaine
2.1.2.1 Réception
2.1.2.2 Transmission
2.1.2.3 Perception
2.2 Réseau de neurones artificiels
2.2.1 Neurone formel et Loi de Hebb
2.2.1.1 Évolutions du RNA
2.2.1.2 Neurone Formel
2.2.1.3 Loi de Hebb
2.2.2 Perceptron
2.2.2.1 Optimisation :Gradient
2.2.2.2 Règle delta généralisée
2.2.2.3 Règle delta
2.2.3 Perceptron Multi-Couches
2.2.3.1 Rétro-propagation
2.2.3.2 Normalisation de données d’entrée
2.2.3.3 Types de PMC et applications
2.3 RNA et traitement d’images
2.3.1 Architecture de traitement
2.3.1.1 Problème
2.3.1.2 Architecture de base
2.3.2 Réseau profond
2.3.2.1 Objectif
2.3.2.2 Réseau de neurones à convolution
2.4 Conclusion
3 Modélisation du traitement d’images par RNA
3.1 Introduction
3.2 Processus du traitement
3.2.1 Phase d’abstraction de l’image
3.2.1.1 Avant l’entrée du RNC
3.2.1.2 Dans le RNC
3.2.2 Phase de reconnaissance
3.2.2.1 Structure du réseau de reconnaissance
3.2.2.2 Processus de reconnaissance
3.3 Réseau de neurones en pratique
3.3.1 Conditions de réalisation
3.3.1.1 Normalisation des données
3.3.1.2 Les valeurs initiales
3.3.2 Initialisation
3.3.2.1 Initialisation des paramètres
3.3.2.2 Structuration du modèle
3.4 Conclusion
4 Application : La reconnaissance de chiffres manuscrites
4.1 Introduction
4.2 Apprentissage du modèle
4.2.1 Ressources et Algorithmes d’apprentissage
4.2.1.1 Base d’apprentissage
4.2.1.2 Algorithmes d’apprentissage
4.2.2 Architecture
4.2.2.1 Architectures de test
4.2.2.2 Architecture finale
4.3 Évaluation du modèle
4.3.1 Entrainement
4.3.1.1 Résultat des entrainements
4.3.1.2 Procédure d’entrainement
4.3.2 Test du modèle
4.3.2.1 Résultats des tests
4.3.2.2 Procédure de reconnaissance
4.4 Conclusion
Conclusion
Bibliographie

Télécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *