Vous êtes sur la page 1sur 16

RECONNAISSANCE DES FORMES

INTRODUCTION

PRINCIPES

METHODES

CODAGE DE FREEMAN

DESCRIPTEURS STATISTIQUES

MOMENTS GEOMETRIQUES

CLASSIFICATION

RESEAUX DE NEURONES ET APPRENTISSAGE PROFOND


RECONNAISSANCE DES FORMES

1. Introduction
L’objectif : analyser le contenu des segments de l’image afin d’identifier les formes et les objets.
L'être humain commence à faire de la Reconnaissance des Formes (RdF) dés le jeune âge de l'enfance.
Dans l'histoire de l'humanité, les humains ont fait de la RdF en regardant les étoiles puis en les
regroupant en constellations.
Dans le domaine numérique, la RdF a commencée dans le traitement de la parole (traitement du signal)
pour déterminer les empreintes vocales des gens, puis, dans les images numériques:
- médecine: pour reconnaitre les organes et les pathologies,
- industrie: pour les processus de fabrication et dans le contrôle de la qualité,
- documentation: pour la reconnaissance automatique de l'écriture,
- biométrie: pour la reconnaissance des empreintes digitales,
- vidéosurveillance: pour la sécurité des personnes et des biens…
Dans notre étude on se focalise sur la vision et reconnaissance des formes ; c'est à dire la reconnaissance
à partir des images numeriques

2. Méthodes
La reconnaissance des formes nécessite un bon prétraitement d'image pour bien mettre en valeur les
objets à identifier ; par la suite choisir la methode qui parrait la plus adéquate.
Dans la majorité des cas, il faut commencer par définir un descripteur ou un attribut ou une texture, puis
essayer de le mesurer. Certaines méthodes se basent sur une base de données: c'est les techniques
supervisées. D'autres méthodes ne sont pas supervisées.

Plusieurs techniques sont utilisées ; dont :


- les méthodes statistiques (moments statistiques, coefficient de correlation…)
- les analyse spectrales (domaine frequentiel)
- les moments geomeriques (de Fourier-Melin, de Lee, de Ghorbal…)
- les moments de Zernike
- les techniques de classification (Kmeans, FuzzyC-Means, K-NearstNeighbour…) avec des analyses
factorielle (axe factoriel qui descrimine au mieux les K-classes ; l'Analyse en composantes
Principales…)
- les métaphores heuristiques (Genetic Algorithm, Ant Colony Optimization, Artificial Neural Networks
and Deep Learning...)
3. Codage de Freeman
Le codage commence de haut à gauche vers le bas à droite

2
3 1

4 0

5 7
6

Exemple :

le code :

600244
Le code :

556000022442

4. Analyse statistique
4.1. coefficient de corrélation

Corrélation de l’objet étudier avec un objet d’une base de données (coûteuse en temps de calcul)

µ est la moyenne et σ est l'écart-type.

4.2. moments statistiques


Moyenne

Ecart-type
Skewness

Kurtosis

Exemple :

On conçoit une base de donnees de chiffres, de taille 64x128 pixels, font=Arial 72 :


le fond en noir et l'ecriture en blanc :

Puis créer une image à main levé

L'objectif est de reconnaître le chiffre manuscrit

- les images sont binaires (noir et blanc)


- on applique le calcul des 4 moments geometriques sur chacune des images.
- on calcul la distance euclidienne entre l'image manuscrite et une à une de la base.
- on retient la plus faible distance qui correspond au chiffre de la base
- ainsi le chiffre manuscrit se reconnu par le chiffre retenu de la base

Graphiquement : on place deux moments statistiques sur un place, avec l'axe des <<x>> pour le 1 er
moment et l'axe des <<y>> pour le 2e. On retient le chiffre manuscrit le plus proche du chiffre tapé.
5. Descripteurs géométriques

Moments géométriques invariants :

Moment central :

Moment central discret :

Normalisation du moment central :

Moment d’ordre 0 :
µ00
Moment d’ordre 1 :
µ10 et µ01
Moments d’ordre 2 :
ϕ1=µ20+µ02
ϕ2=(µ20-µ02)2+4(µ11)2
Moments d’ordre 3 :
ϕ3=(µ30-3µ12)2+(3µ21-µ03)2
ϕ4=(µ30+µ12)2+(µ21+µ03)2
ϕ5=(µ30-3µ12)(µ30+µ12)((µ30+µ12)2-3(µ21+µ03)2)
+(3µ21-µ03)(µ21+µ03)(3(µ30+µ12)2-(µ21+µ03)2)
ϕ6=(µ20-µ02)((µ30+µ12)2-(µ21+µ03)2)+4µ11(µ30+µ12)(µ21+µ03)
ϕ7=(3µ21-µ03)(µ30+µ12)((µ30+µ12)2-3(µ21+µ03)2)
-(µ30-3µ12)(µ21+µ03)(3(µ30+µ12)2-(µ21+µ03)2)
Les Formules Numeriques en vision

invariance par translation

avec xg et yg les coordonnees du centre de gravite de la forme (en supposant que la forme est une image
en blanc sur un fond en noir)

invariance par homothétie

avec γ=1+(p+q)/2

invariance par rotation

ϕ01 = η0,1
ϕ10 = η1,0
6. La classification (clustering)
(methode des C-moyennes saptiale)
on choisit le nombre de classes, on fixe la 1ere classe : le 1er point, 2e point pour la 2e classe..., les
autres points pour la dernière classe,
on calcul pour chaque classe le centre de gravité,
on calcul les inerties intraclasse et interclasses
pour chaque classe, on calcul l'inertie intraclasse: Ia = Σ d2(p-g), p: les points de la classes et g: le centre
de gravité de la classe
on calcul la somme des Ia: Σ Ia
on calcul l'inertie interclasse: Ie = Σ d2(gi-gj), gi et gj: les respectives centres de gravité des classes,
on calcul le rapport (Σ Ia)/Ie qui doit être minimal
on refait les étapes jusqu'à le convergence (pour la dernière itération et celle qui la précède, on trouve le
même rapport (ΣIa)/Ie)

Exemple de Kmeans :
hypothese : data={1,2,5,8,10,11,15,16,17,20}
nb_cl = 2
calcul :
milieu = (1+2+5+8+10+11+15+16+17+20)/10 = 10.5
C1={1,2,5,8,10} C2={11,15,16,17,20}
G1=(1+2+5+8+10)/5 = 5.2 G2=(11+15+16+17+20)/5 = 15.8
milieu = (5.2 + 15.8)/2 = 10.5
C1={1,2,5,8,10} C2={11,15,16,17,20}

calcul avec une autre hypothese :


C1={1} C2={2,5,8,10,11,15,16,17,20}
G1=1 G2=(2+5+8+10+11+15+16+17+20)/9 = 11.55
milieu = (1+11.55)/2 = 6.27
C1={1,2,5} C2={8,10,11,15,16,17,20}
G1=(1+2+5)/3 = 2.66 G2=(8+10+11+15+16+17+20)/7 = 13.85
milieu = (2.66+13.85) = 8.26
C1={1,2,5,8} C2={10,11,15,16,17,20}
G1=(1+2+5+8)/4 = 4 G2=(10+11+15+16+17+20)/6 =14.83
milieu = (4+14.83)/2 = 9.41
C1={1,2,5,8} C2={10,11,15,16,17,20}

calculez la fonction objectif (optimisation de : Σ d2)et les inerties inter et intra


Exemple 2 :
hypothese : data={1,2,3,5,8,10}
nb_cl = 3
calcul :
data: 1 / 2 / 3, 5, 8, 10
gravity centers: 1 2 7.5
limite class : 1.5 4.25
data: 1 / 2, 3 / 5, 8, 10
gravitycenters : 1 2.5 7.666
limite class : 1.75 5.08
data: 1 / 2, 3, 5 / 8, 10
gravity centers : 1 3.333 9
limite class : 2.16 6.16
data: 1, 2 / 3, 5 / 8, 10
gravity centers : 1.5 4 9
limite class : 2.75 6.5
data: 1, 2 / 3, 5 / 8, 10

Exemple 3 :
data : [[0,0],[0,1],[1,2],[2,2],[2,3],[2,6],[5,6],[5,7],[6,5],[2,1]]

nb_cl=3
La classificationFCM

La classification iFCM
LES RESEAUX DE NEURONES ARTIFICIELS
INTRODUCTION

La complexité des systèmes usuels a poussé l’être humain à concevoir des commandes et des modèles
de plus en plus performants et adaptables pour contrôler ses outils. L’une des constatation faite par
l’homme s’est focalisée sur son propre cerveau comme étant le meilleur modèle à imiter, ce qui l’a
amené à voir sa constitution biologique et son principal élément moteur de réflexion qui est le neurone
et tout le système neuronal d’où la terminologie de réseau de neurones ou réseau neuromimétique : RN.
Les grandes propriétés des réseaux de neurones sont la capacité d’adaptation et de généralisation, la
facilité de simulation et de développement, le parallélisme, la distribution de mémoire...pour cela on voit
l’évolution rapide des RN et l’incitation à son utilisation dans tous les domaines industriels, financier,
télécommunication, chimique... En plus les bons résultats fournis par les modèles de RN a permis de
sauvegarder leur efficacité environnementale et temporelle. Ainsi les RN sont devenus un outil
nécessaire et puissant pour énormément d’applications et de développement d’algorithmes de
commande, d’identification ou de modélisation, et on ne peut plus parler des RN sans évoquer leurs
applications.

I. Approche biologique des neurones

Figure 1
Un neurone est composé de trois éléments fondamentaux :
le corps cellulaire : contient le noyau du neurone et effectue les transformations biochimiques nécessaire
à la synthèse des enzymes et des autres molécules qui assurent la vie du neurone. Ce corps fait quelques
microns de diamètre.
Les dendrites : se sont des fines tubulaires de quelques dixièmes de microns de diamètre et de quelques
dizaines de microns de longueur. Elles sont les récepteurs principaux du neurone pour capter les signaux
qui lui parviennent.
L’axone : c’est la fibre émettrice des signaux du neurone et est d’une longueur de plus d’un millimètre.
Les connexions des neurones : se font en des endroits appelés synapses où ils sont séparés par des
espaces synaptiques de l’ordre du centième de microns. [2] [4]
Schématisation du corps cellulaire comme sommateur à seuil :
Dendrites
Axone

Seuillage
Sommation
Figure 2

II. Evolution et modèles des réseaux de neurones

Le terme de réseaux de neurones regroupe aujourd’hui un certain nombre de modèles dont l’intention
est d’imiter certaines des fonctions du cerveau humain en reproduisant certaines de ses structures de
base.
Historiquement, les origines de cette discipline sont très diversifiées. En 1943, McCulloh et Pitts
étudièrent un ensemble de neurones formels interconnectés, et montrèrent leurs capacités à calculer
certaines fonctions logiques.
Modèle d’un neurone :
Eh
1
W1 y
Ehj Wj

Eh Wn
Figure 3
n
Avec la sortie y=f(EhjWj) et f : une fonction sigmoïde
Modèle d’un réseau de neurones :

A U U U B
1 1 3 7 1

U
U U B
A 4
U U 6 8 2
2
couche d’entrée
2 5couche cachée couche de sortie
Figure 4

En 1949, Hebb, dans une perspective psychophysiologique, souligna l’importance du couplage


synaptique dans le processus d’apprentissage : si deux neurones sont activés en même temps alors leur
connexion doit être renforcée ; si non elle est inchangée (c’est la règle de Hebb).
C’est en 1958 que Rosenblatt décrivit le premier modèle opérationnel de réseaux de neurones, mettant
en œuvre les idées de Hebb, McCulloh et Pitts : le perceptron, inspiré du système visuel, capable
d’apprendre à calculer certaines fonctions logiques en modifiants ses connexions synaptiques.
Un perceptron est constitué d’une rétine de cellules d’entrée  d’une couche de cellules d’associations
 et d’une cellule de décision  :

  
Figure 5
Ce modèle suscita beaucoup de recherche, et sans doute trop d’espoirs. Quand ces deux
mathématiciens, Minsky et Papert, démontrèrent en 1969 les limites théoriques du perceptron, l’effet fut
presque immédiat : chercheurs et investisseurs se désintéressèrent des réseaux de neurones pour tourner
vers l’approche symbolique de l’intelligence artificielle, qui semblait beaucoup plus prometteuse.
Le renouveau actuel des réseaux de neurones est dû à des contributions originales, comme celle de
Hopfield en 1982, qui en montrant l’analogie des réseaux de neurones avec certains systèmes physiques,
a permis de leur appliquer un formalisme riche et bien maîtrisé. Tout de même la mémoire fondamentale
d’un réseau de Hopfield n’est pas toujours stable car il y a présence d’états indésirables (ou poubelles) et
des possibilités d’oubli catastrophique ; pour exploiter ces réseaux on utilise des considérations
probabilistes pour explorer l’instabilité.
Quelques années plus tard, en 1985, des nouveaux modèles mathématiques ont permis de dépasser les
limites du perceptron tel que le modèle de Kohenen, qui est très proche du modèle précité, et qui attribut

une variable d’état S à chaque neurone et son équation d’état dynamique est : , avec
E=Wiei : l’entrée du neurone et p : fonction sigmoïde. La stabilité de l’état du neurone (après plusieurs

variations) donne d’ou la solution de l’équation devient S=p-1(E).


La règle d’apprentissage pour les réseaux de Kohenen est :

avec k0 et (S) : fonction d’oubli 0 ;


la règle est si un neurone est activé alors sa connexion est renforcée et s’il n’est pas activé même s’il a
été excité alors sa connexion est diminuée.[3] [8]
L’évolution des modèles et concepts des réseaux de neurones continu et se clarifie de mieux en mieux
et l’architecture du réseau se fixe à une couche d’entrée, une couche cachée pouvant contenir plusieurs
couches à l’intérieur et une couche de sortie. L’apprentissage du réseau se base sur la correction des
poids synaptiques corrigés en fonctions des couples (entrées, sorties réelles) ou (entrées, erreurs entre la
sortie réelle et la sortie voulue). Ce calcul est effectué de proche en proche de la couche d’entrée à la
couche de sortie : cette phase est appelée propagation avant (ou encore relaxation du réseau).
Une nouvelle méthode pour l’apprentissage du réseau basée sur la rétropropagation du gradient fait
face ; ça consiste à rétropropager dans le réseau l’erreur quadratique calculée entre la sortie réelle et la
sortie voulue en donnant lieu à une modification de chaque poids synaptique. Ce processus est répété
plusieurs fois jusqu'à avoir une erreur inférieure à un seuil donné : on dit donc que le réseau a convergé.
Modèle du neurone : Oj=f(WijIi), avec f : une fonction sigmoïde, Oj : sortie du jeme neurone, Ii : ses
différentes entrées et Wij :les poids synaptiques entre le ieme neurone et le jeme.
Modèle du réseau : une couche d’entrée + une couche cachée (ou plusieurs) + une couche de sortie.
Apprentissage : règle de Windrow-Hoff : ; Th : l’objectif de la sortie, h : l’état ou
l’itération.
Fonction d’erreur : E(W)=(Yj-Sj)², S :la sortie obtenue et Y :la sortie désirée.
Règle des modifications des poids : Wij(k)=Wij(k-1)-e(k).di.Oj, avec k : numéro de l’exemple (ou
itération), e=Y-S : c’est le pas du gradient et d :une fonction qui dépend de la couche.
(1) : di=2(Si-Yi).f’(Ii) pour la couche de sortie
(2) : di=hdh.Whi.f’(Ii) pour la couche cachée

Remarque : on peut aussi déterminer le critère pour minimiser l’erreur en appliquant :

et qui donne avec : constante d’apprentissage, d’ou la correction


des poids synaptiques : Wij(k)=j(k) yi(k) et que j(k) dépend de la couche, ce qu’on appelle aussi
.

modification des poids synaptiques par la règle delta : avec


j=yi.Wij.

Yj(k) dj(k)
Wij -1
Yi(k) ej
Neurone j
Figure 6

L’algorithme de rétropropagation, bien qu’il ait prouvé son efficacité pratique dans de nombreux
problèmes, présente un certain nombre de difficultés encore non résolues (combien de couches de
neurones pour dimensionner correctement un réseau, lourdeur de l‘algorithme pour des grands
problèmes,...)
D’autre modèles ont été mis récemment s’appuyant sur le renforcement de l’apprentissage (commande
de l’apprentissage renforcée : RLC) ou sur l’adaptation du processus (commande neuro-adaptitive :
ANMC) ou autre type de modèle qui ont donné de bon résultat.
Les modèles ne cessent de croître et les applications aussi mais c’est au dépend de l’importance des
calculateurs pour exécuter les algorithmes et leurs nombreuses itérations.

III. Les Applications

Les innombrables applications des réseaux de neurones : industriels (contrôle de la qualité,


planification du matériel, diagnostic de pannes...), financières (prévision et modélisation du marché,
analyse de signatures, lecture automatique de caractères manuscrits...), télécommunications (analyse du
signal, élimination du bruit, compression de données...), chimiques... ; naissent à partir de leurs grandes
propriétés : le parallélisme, la capacité d’adaptation, la distribution de la mémoire, la capacité de
généralisation, la facilité de simulation et de développement...
Exemple d’application : transformer un texte anglais écrit en sa représentation phonétique, et donc de le
prononcer, grâce à un synthétiseur de parole. Ce réseau est constitué de 3 couches, la couche d’entrées
est constituée de 7 x 29 neurones, une couche cachée de 80 unités, donc un total de 300 neurones et
20000 connexions environ. Après 12 heures d’apprentissage, une réussite de 95% pour un texte appris et
80% pour un texte différent.[3]
Le choix d’un réseau de neurones pour une application n’est aussi simple qu’il paraît, il faut tout
d’abord analyser le problème : ses variables, sa taille, sa nature (nécessite un traitement numérique
important ou pas...),...et par suite chercher un modèle adéquat pour l’adapter à l’application, le
dimensionner (combien de couches, combien de neurones pour chaque couche...) ; ensuite c’est au tour
de l’implémentation et enfin c’est l’apprentissage et combien de temps faudrait-il pour arriver à un
résultat satisfaisant ?
Ainsi, il n’y a pas de règle magique qui donne toujours un excellent résultat, les tests et les essais avec
beaucoup de patience c’est la règle à appliquer.

VI. Les types d'apprentissage

Les techniques d'apprentissage connexionnistes se répartissent en trois grandes familles:


 L'apprentissage non supervisé: modifie les poids du réseau en fonction d'un critère interne
(corrélation des deux neurones reliés); indépendant de l'adéquation entre le comportement du réseau
et de la tâche qu'il doit effectuer.
 L'apprentissage supervisé: dispose d'un comportement de référence vers lequel il tente de faire
converger le réseau. La modification des poids est fonction de l'erreur entre la sortie des neurones et
la sortie désirée.
 L'apprentissage semi-supervisé: suppose qu'un comportement de référence précis n'est disponible,
mais qu'en revanche, il est possible d'obtenir des indications qualitatives (exemple:
correct/incorrect), ou lacunaire (exemple: une indication tous les N patrons) sur les performances du
réseau.

Vous aimerez peut-être aussi