3.4. Conclusion
En fin de compte, notre réseau de neurones est
composé de trois couches, à savoir : la rétine, le
gradient et l'aire de sortie. Chaque couche comprend un nombre
déterminé de neurones nécessaires à la fonction qui
est la sienne dans l'algorithme générale de reconnaissance. Par
ailleurs, il importe de remarquer qu'il n'y a pas de connexion entre les
neurones appartenant à une même couche. Par contre, entre les
neurones des différentes couches, il existe bel et bien une ou plusieurs
connexions. Et le nombre de connexions entre une couche et la suivante
dépend du nombre de neurones (de cette couche) dont les sorties sont
reliées à l'entrée d'un neurone de la couche suivante.
C'est à travers cette structure du réseau que,
après un procédé de prétraitement, l'algorithme
parvient à détecter d'abord le tableau en localisant ses
éléments de structuration (Cf. les 11 éléments de
structuration évoqués dans le chapitre précédent)
et à comprendre la structure du tableau détecté en
générant un document html ou un fichier Microsoft Word.
![](Caracterisation-et-extraction-informatique-de-la-structure-d-un-tableau-par-une-methode-implement76.png)
66
CHAPITRE IV. IMPLEMENTATION DU RESEAU ET RESULTATS
4.1. Objectifs et but
Afin de marier la théorie à la pratique, nous
nous proposons de traduire, dans ce chapitre, les algorithmes
précédemment décrites dans un langage
compréhensible par l'ordinateur. Il est évident que plusieurs
langages de programmations se prêtent bien à cette traduction.
Cependant, pour des raisons de souplesse et surtout à cause de sa
rigueur et de sa portabilité, nous avons choisi d'implémenter
notre réseau de neurones en langage Java. Ainsi, ayant la
réalisation de notre système de reconnaissance comme toile de
fond, ce chapitre a pour but de détailler d'une manière beaucoup
plus précise les différents modules qui constituent notre
programme de reconnaissance des tableaux. Pour ce faire, nous étalerons
d'abord l'implémentation du procédé de
prétraitement, ensuite nous implémenterons le réseau de
neurones et enfin, nous analyserons le résultat des tests du programme
sur quelques documents.
4.2. Architecture logiciel de l'application
Avant d'examiner en détail l'implémentation en Java
des algorithmes du chapitre précédent, nous présentons
d'abord l'architecture de notre application dans le diagramme des classes
ci-dessous :
![](Caracterisation-et-extraction-informatique-de-la-structure-d-un-tableau-par-une-methode-implement77.png)
Reseau
quit : Button dem : Batton alp : Button
handleCvent° : boolean main° :void
1
1
1
Aire Sortie
grad : Graillent n : Arad M : irt
lignes : Int colonnes : int
3radient
7G : Ngrad 7eu : Ngrad Ret : Reline 7F-et : Neurone 7s :
Ngrad
etNeurone0(po3N01 : irt,posNO2 : int) : Ngrad
getNeurones(nombreN1 : int,nombreN2 : int) : Ngradpp
Aid
quit : Buffo
handleEvent° : boolean
Refine
nR : Neurone
neuR : Neurone
nR · Naiirnna
image : Bufferedlmage
irnageTvpee : Bufferedlmacie
trame : WritableRaster
pi:tel : int
y: int
rgb : int
getNeuroneR(posNR1 : int,posNR2 : int) : Neurone
cletNeuronesR(nornbreNR1 : int,nornbreNR2 : int) : Neuronelll
1
|
1
|
|
Neurone
|
|
|
|
Pretraitement
|
entree : in1 sortie : int
|
|
|
Image : Burreredlmage imgRB : Bufferedlmage filename : String
|
getEntree(p : intp) : intp setSortie(pix : intp) : int
getSortie(n : Neurone) : int
|
|
|
reduir=Taille(img : Bufferedlmage) : Bufferedlmage
binarisation(irng : void) : Bufferedlmage gotlmagoRB° : BufforolImago
|
Ng ad
entree : Veurone
sortie : int
E:int
vint
:int
![](Caracterisation-et-extraction-informatique-de-la-structure-d-un-tableau-par-une-methode-implement79.png)
68
|