Vous êtes sur la page 1sur 76

A

LA FAMILLE MOHAMADOU
REMERCIEMENTS
La rigueur scientifique et les exigences d’un travail académique vont souvent au-delà
des capacités de l’étudiant. Ainsi ce serait de l’ingratitude de notre part de nous lancer dans le
sujet de ce mémoire sans nous acquitter de l’honorable devoir qui nous interpelle : celui
d’exprimer nos remerciements à tous ceux qui de près ou de loin ont influencé ce travail de
quelque manière que ce soit.
Ces remerciements s’adressent particulièrement à :
 Professeur ROBERT NZENGWA, Doyen de la Faculté pour nous avoir accueilli à la
Faculté de Génie Industriel et avoir mis à notre disposition tous les moyens dont nous
avions besoin pour progresser dans les meilleures conditions académiques possibles ;
 Docteur JEAN NDOUMBE, Chef de Département de la filière Télécommunications
et Technologie de l’Information et de la Communication pour avoir accepté de nous
guider, de superviser notre spécialisation et de nous encadrer dans ce mémoire ;
 Docteur Brice EKOBO AKOA et Monsieur Jacques MATANGA, respectivement
nos Encadreurs Académique et Professionnel, qui malgré leurs multiples occupations
ont pu diriger et superviser nos travaux de recherche ;
 Ingénieur Junior MOMO ZIAZET pour sa disponibilité, son enseignement et ses
conseils et orientations ;
 Tout le personnel de la Faculté de Génie Industriel de l’université de Douala ainsi que
tout le corps enseignant, qui, durant toute notre scolarité nous ont encouragé sans
ménager aucun effort pour faire de nous de futurs « Ingénieurs Managers » ;
 Mes parents pour leur soutien, leurs encouragements et leur amour infini ;
 Toute ma famille, mes frères et sœurs, mes tantes et oncles, ma grande mère pour
leur soutien de toute nature ;
 A ma famille adoptive où, Monsieur et Madame OUMAROU HAMANDJODA par
leur amour illimité, conseils, patience, encadrement m’ont assisté et suivi tout au long
de cette formation.
 Je ne manquerais pas de remercier l’ensemble des membres du jury de soutenance pour
l’honneur qu’ils m’ont fait en acceptant de juger ce modeste travail ;
 Mes amis pour leur apport et leur conseil et particulièrement Jean Richard Owona
pour sa disponibilité, son aide ; et tous ceux et celles qui, de près ou de loin m’ont
soutenu pour la réalisation de ce mémoire ;
 Enfin un regard singulier à tous mes camarades de la promotion 8 de la Faculté de
Génie Industriel de l’université de Douala pour les inoubliables moments partagés.
RESUME

Ce travail porte sur la conception et la réalisation d’un système intelligent capable de


diagnostiquer le paludisme à partir des images de frottis sanguins. Ce système prend en entrée
des données sous le format d’images, et en fournit un diagnostic de manière instantanée et
automatisée pour donner en sortie le résultat de l’état du patient sur un écran. La
méthodologie de réalisation du système qui a été choisie dans la conception de notre modèle
logiciel est basée sur le réseau de neurones convolutionnel. Ce dernier a la spécificité de
fonctionner comme extracteur de caractéristiques et classificateur d’images. La partie
logicielle ainsi obtenue est deployée sur un dispositif électronique qui sert de kit de
diagnostic.
La mise sur pied d’un tel système présente des atouts innombrables parmi lesquels la
rapidité lors du diagnostic par un technicien de laboratoire ou non et la portabilité qui facilite
l’usage partout où besoin se fera ressentir.
Du point de vue ergonomique et fonctionnel, le système a un impact réel, dans le
diagnostic d’une endémie paludéenne à grande échelle.
Les résultats obtenus sont probants. Dans la mesure où le système réalisé après test sur
plusieurs échantillons atteint une sensibilité moyenne de 94,50% et une précision moyenne de
94,50% améliorant ainsi la prise de décision sur le diagnostic du paludisme et par ricochet la
prise en charge ipso facto du patient à grande échelle.

Mots clés : Diagnostic, Paludisme, Réseaux de neurones convolutionnel, Système intelligent.


ABSTRACT

This work focuses on the design and implementation of an intelligent system that can
diagnose malaria from blood smear images. This system collects data in the image
, and provides an instant and automated diagnosis to output the result of the patient's condition
on a screen. The system realization methodology that was chosen in the design of our
software model is based on the convolutional neural network. The latter has the specificity to
function as a feature extractor and image classifier. The software part thus obtained is
implemented in an electronic device that serves as a kit mounted with our care.
The establishment of such a system has innumerable assets such as :
- rapidity during diagnosis by a laboratory technician or not;
- portability that will facilitate its use wherever needed.
From an ergonomic and functional point of view, the system has a real impact in the
diagnosis of a large-scale malaria endemic.
The results obtained are convincing. Insofar as the system carried out after testing on
several samples reaches an average sensitivity of 94.50% and an average accuracy of 94.50%,
thus improving the decision-making on the diagnosis of malaria and by ricochet management
ipso facto of the patient on a large scale.

Key words: Convolutional Neural Network, Diagnosis, Intelligent System, Malaria.


LISTE DES FIGURES

Figure 1.1 : Image acquise........................................................................................................12


Figure 1.2 : Image transformée en niveau de gris.....................................................................13
Figure 1.3 : Egalisation de l'histogramme.................................................................................14
Figure 1.4 : Image segmentée...................................................................................................14
Figure 1.5 : Erosion [32]...........................................................................................................15
Figure 1.6 : Image dilatée.........................................................................................................15
Figure 1.7 : Détection de contours………………………………………………………… 16
Figure 1.8 : Algorithme classique d’un k-means......................................................................20
Figure 1.9 : Structure d’un neurone artificiel en correspondance avec celle d’un neurone
biologique [34]..........................................................................................................................21
Figure 1.10: La fonction sigmoïde [35]....................................................................................22
Figure 1.11 : Fonction linéaire..................................................................................................22
Figure 1.12 : Fonction tangente hyperbolique [35]..................................................................23
Figure 1.13 : Fonction ReLU [35]............................................................................................23
Figure 1.14 : Architecture d’un perceptron avec le sens de rétropropagation de l’erreur [35].24
Figure 1.15 : Overfitting et Underfitting...................................................................................26
Figure 1.16 : Architecture d'un CNN [39]................................................................................28
Figure 1.17 : Couches du CNN [40].........................................................................................28
Figure 1.18 : Exemple du processus de convolution [41].........................................................29
Figure 1.19 : Max Pooling avec un filtre de 2X2 [41]..............................................................30
Figure 2.1 : Analyse fonctionnelle du besoin...........................................................................34
Figure 2.2 : Schéma synoptique du kit......................................................................................34
Figure 2.3 : Cas d'utilisation du système..................................................................................35
Figure 2.4 : Diagramme de séquence de fonctionnement global du système...........................36
Figure 2.5 : Diagramme de séquence d’entrainement..............................................................37
Figure 2.6 : Diagramme de composants du système................................................................38
Figure 2.7 : Topologie du système............................................................................................38
Figure 2.8 : Organigramme du système...................................................................................39
Figure 2.9 : Architecture du modèle proposé............................................................................41
Figure 3.1 : Exemple d'images utilisés.....................................................................................44
Figure 3.2 : Configuration de l'architecture du CNN................................................................46
Figure 3.3 : Image prétraitée.....................................................................................................47
Figure 3.4 : Image d'ensemble du prototype............................................................................49
Figure 3.5 : Image du prototype au démarrage.........................................................................49
Figure 3.6 : Interface graphique................................................................................................50
Figure 3.7 : Importer l’image d’un frottis.................................................................................50
Figure 3.8 : Image importée......................................................................................................51
Figure 3.9.1 : résultat pour un frottis sanguin positif................................................................51
Figure 3.9.2 : résultat pour un frottis sanguin négatif...............................................................52
Figure 3.10 : Matrice de confusion de données d’entrainement...............................................55
Figure 3.11 : Matrice de confusion de données de test.............................................................55
LISTE DES TABLEAUX
LISTE DES ABBREVIATIONS

ANN: Artificial Neural Network

BPNN: Back Propagation Neural Network

CNN: Convolutional Neural Network

GLCM: Gray Level Coocurrence Matrix

IA: Intelligence Artificielle

LCD : Liquid Cristal Display

MLP: Multiple Layer Perceptron

OMS: Organisation Mondiale de la Santé

ReLU: Rectified Linear Unit

RGB: Red Green Blue

RNA: Réseau de Neurones Artificiels

ROI: Region Of Interest

RVB: Rouge Vert Bleu

SVM: Support Vector Machine

TIC : Technologies de l’information et de la communication


SOMMAIRE

REMERCIEMENTS___________________________________________________ii
RESUME____________________________________________________________iii
ABSTRACT__________________________________________________________iv
LISTE DES FIGURES_________________________________________________v
LISTE DES TABLEAUX______________________________________________vii
LISTE DES ABBREVIATIONS________________________________________viii
SOMMAIRE_________________________________________________________ix
INTRODUCTION GENERALE_________________________________________1
Contexte_____________________________________________________________1
Problématique________________________________________________________2
Objectifs du travail____________________________________________________3
Hypothèses du travail__________________________________________________3
Plan du mémoire______________________________________________________3
CHAPITRE 1 : ETAT DE L’ART________________________________________5
1.1 Techniques de diagnostic du paludisme_________________________________5
1.1.1 Les techniques classiques_____________________________________5
1.1.1.1 Le TDR (Tests de Diagnostiques Rapides)_______________________5
1.1.1.2 l’examen microscopique______________________________________6
1.1.2 Les techniques automatiques___________________________________7
1.1.2.1 Traitement d’image et diagnostic du paludisme____________________7
1.1.2.1.1 Travaux sur l’identification des parasites du paludisme et
classification de quatre espèces______________________________________7
1.1.2.1.2 Travaux sur la détection et classification des parasites du paludisme_8
1.1.2.2 Système de diagnostic du paludisme utilisant les réseaux de neurones__8
1.1.2.2.1 Détection quantitative du paludisme___________________________8
1.1.2.2.2 Détection et classification automatique du paludisme_____________9
1.2 Traitement d’images pour le diagnostic du paludisme_________________11
1.2.1 Acquisition d’images_________________________________________12
1.2.2 Prétraitements______________________________________________12
1.2.3 Segmentation_______________________________________________14
1.2.4 Opérations morphologiques___________________________________14
1.3 Intelligence Artificielle pour le diagnostic du paludisme__________________16
1.3.1 Le Machine Learning (Apprentissage Automatique)________________17
1.3.1.1 L’approche Naive Baye (Classification Bayésienne)_______________17
1.3.1.2 Les SVM (Support Vector Machine)___________________________18
1.3.1.3 Le K-means clustering______________________________________19
1.3.2 Le Deep Learning (Apprentissage Profond)_______________________20
1.3.2.1 Les réseaux de neurones artificiels (RNA)_______________________20
1.3.2.2 Le Perceptron Multicouche (PMC), Algorithme de rétropropagation_23
1.3.2.3 Les réseaux de neurone à convolutions_________________________26
Conclusion___________________________________________________________32
CHAPITRE 2 : CONCEPTION DU SYSTEME INTELLIGENT_____________33
2.1 Méthodologie de conception_________________________________________33
2.1.1 Analyse fonctionnelle________________________________________33
2.1.2 Définition générale des besoins_________________________________35
2.1.2.1 Modélisation des besoins____________________________________35
2.1.2.2 Vue d’ensemble du système intelligent_________________________37
2.2 Conception du système_____________________________________________38
2.2.1 Module de prétraitement______________________________________39
2.2.2 Module du CNN____________________________________________40
Conclusion___________________________________________________________41
CHAPITRE 3 : REALISATION, IMPLEMENTATION ET RESULTATS____42
3.1 Présentation des outils utilisés________________________________________42
3.1.1 Langage et librairies utilisés___________________________________42
3.1.2 Le Hardware_______________________________________________43
3.2 Implémentation du modèle CNN_____________________________________43
3.2.1 Jeu de données______________________________________________43
3.2.1.1 Présentation du jeu de données_______________________________43
3.2.1.2 Répartition de ces données___________________________________44
3.2.2 Architecture du CNN_________________________________________44
3.2.3 Apprentissage du modèle_____________________________________46
3.3 Réalisation, Simulation et Résultats___________________________________48
3.4 Interprétations des résultats et Discussions_____________________________52
3.5 Ressources Nécessaires à la Réalisation de ce Projet_____________________56
Conclusion___________________________________________________________57
CONCLUSION GENERALE ET PERSPECTIVES________________________58
REFERENCES BIBLIOGRAPHIQUES__________________________________xi
ANNEXES__________________________________________________________xii
INTRODUCTION GENERALE

De la santé à l’économie, en passant par tous les domaines de la vie sociale, l’apport
qualitatif et quantitatif des Technologies de l’Information et de la Communication (TIC) n’est
plus à démontrer. Celles-ci jouent un rôle dans l’amélioration des conditions de vie de toutes
les couches sociales même les plus vulnérables d’une part, et d’autre part, permettent un gain
considérable en temps. Afin d’apporter une solution palliative aux problèmes de file d’attente,
de durée de réalisation et des couts onéreux des examens médicaux au Cameroun, nous
appliquons les TIC dans le processus du diagnostic médical.
C’est dans cette optique que nous nous proposons de mettre à disposition du corps
médical un kit de diagnostic lui permettant de gagner en temps lors du processus de traitement
du paludisme. Le paludisme est une maladie parasitaire qui affecte beaucoup plus les enfants
et les femmes enceintes en zones reculées et que le taux de mortalité et de porteurs sains est
très élevé en Afrique. C’est le plus grand « tueur » en Afrique (Un enfant meurt chaque deux
minutes). Ceci explique l’interet que nous portons à cette maladie dans le cas de notre projet.

Contexte
Le paludisme est une maladie parasitaire endémique dévastatrice qui sévit dans les
zones tropicales et subtropicales. Il provoque environ 212 millions de cas d’infection et
quelques 429 000 décès dans le monde, soit 90% des cas mortels en Afrique [CITATION 1 \l
11276 ], selon le rapport sur le paludisme en 2015 publié par l’Organisation mondiale de la
santé (OMS) [ CITATION 2 \l 11276 ] . Spécifiquement, au Cameroun on a enregistré en 2016,
4000 décès résultant du paludisme dont 70% constitués d’enfants de moins de cinq
ans[ CITATION 3 \l 11276 ] . La détection rapide des cellules infectées et la classification des
espèces de parasites peuvent faciliter le traitement de la maladie avec des médicaments
appropriés et aider à contrôler la propagation de la maladie. Les techniques de référence pour
le diagnostic des parasites du paludisme sont les kits de test de diagnostic rapide (TDR) et la
microscopie optique [CITATION Espace_réservé1 \l 11276 ]. Les tests de diagnostiques rapides se
présentent sous la forme d’une cassette en plastique ou d’une carte qui contient une bandelette
de nitrocellulose qui est visible à travers les différentes fenêtres ou alvéoles de la cassette, et
utilisent les anticorps ou antigènes pour détecter le paludisme. L'utilisation du microscope
optique est une approche standard de détection des parasites, qui implique la préparation et
l'examen au microscope de films minces épais et minces colorés au Giemsa provenant de
patients atteints de paludisme. En outre, l'examen microscopique peut être utilisé pour la
classification des espèces et la détermination du nombre de parasites. Cependant, ce processus
nécessite un technicien vigoureusement formé pour détecter efficacement et avec précision les
parasites et en classifier les espèces. Particulièrement dans notre pays, le Cameroun, nos
laboratoires et nos hôpitaux ne sont pas tous équipés de cette technologie et dans les zones
rurales ces lieux sont presque inexistants. Avec d'autres facteurs tels que certaines limitations
techniques et une éventuelle incohérence humaine, la détection et la classification peuvent
être encore dégradées.
C’est dans ce contexte que nous avons fait le choix dans le cadre de notre mémoire de
fin d’étude à la Faculté de Génie Industriel, de proposer une application d’aide au diagnostic
du paludisme.

Problématique
Un diagnostic précoce et un traitement immédiat sont les clés d’une prise en charge
efficace des patients souffrant du paludisme [ CITATION 5 \l 11276 ]. La confirmation du
diagnostic fait partie des bonnes pratiques cliniques et devrait toujours être intégrée à la prise
en charge des cas [ CITATION 6 \l 11276 ]. L’examen microscopique d’un échantillon de
sang est la méthode de référence pour le diagnostic du paludisme. Mais, cette méthode
présente des limites telles que :
 L’exigence d’un matériel et des réactifs de qualité,
 La préparation et une lecture des lames de frottis mince par un technicien de laboratoire
qualifié expérimenté se font en 20-30 minutes [ CITATION 7 \l 11276 ].
 la maintenance et l’utilisation de ces matériels nécessitent des grands moyens financiers
(équipements, énergie électrique,…).
Dans le but de proposer des solutions de la technologie à ces limites, et afin d’apporter
un plus dans les techniques de diagnostic au Cameroun, ainsi, nous avons opté pour la
conception et la réalisation d’un système intelligent de diagnostic du paludisme mobile, en
temps réel et à moindre cout. Tout ceci nous amène à la question fondamentale : savoir si un
tel système pourrait être plus fiable au vu de ces résultats afin qu’on puisse se servir de ce
dernier pour diagnostiquer un sujet humain potentiellement porteur du parasite du paludisme ?

Objectifs du travail
L’objectif général de notre travail est de concevoir et réaliser un système intelligent
qui permet de détecter le paludisme en temps réel chez une personne.
Les objectifs specifiquess peuvent être :
 Faire le diagnostic à partir des images de frottis sanguin ;
 Développer un système automatique de diagnostic ;
 Développer un système qui sera autonome et utilisable par toute personne
qu’elle soit du corps médical ou non ;
 Réaliser un dispositif portatif de diagnostic.

Hypothèses du travail
Toute démarche scientifique, comme c'est le cas présentement nécessite la mise en place
des mécanismes scientifiques et rationnels permettant la vérification des hypothéses qui seront
ci-aprés enumérées afin de tracer la courbe résultante de notre expérience et etre en accord
avec nos objectifs :
 Utiliser les memes caractéristiques de caméra numerique ainsi que du microscope
optique pour faire la capture d’images précise des frottis sanguins minces colorés au
Giemsa ;
 Les résultats s’appuient sur la base de données receuillies
Voilà ainsi briévement exposées les hypothèses dont nous seront amenés à respecter
tout au long de notre de travail.

Plan du mémoire
Nous orientons notre travail autour de trois principaux axes qui sont présentés sous
forme de chapitres dans l’ordre chronologique suivant : " Etat de l’art " introduit les
techniques diagnostic du paludisme existantes ainsi que les travaux réalisés pour automatiser
la technique de référence, ensuite le traitement d’images utilisé pour le diagnostic du
paludisme et enfin l’Intelligence Artificielle en donnant les détails sur les notions théoriques
de ces outils présentés pour le diagnostic du paludisme. Le chapitre, "Conception du système
intelligent" quant à lui, donne la méthodologie de conception de notre système et l’analyse
fonctionnelles du système. Et enfin, le chapitre "Réalisation, implémentation et Résultats", qui
présente les environnements matériels et logiciels utilisés pour la mise au point du système,
les techniques, la description fonctionnelle du système, la présentation des résultats obtenus.
Au final, une conclusion générale qui met en relief le cout de réalisation du prototype,
son efficacité et les perspectives d’amélioration.
CHAPITRE 1 : ETAT DE L’ART
Le diagnostic médical est le processus permettant d'établir la présence d'une maladie
ou d'un dysfonctionnement chez un patient. Cela permet de décider du traitement qui peut être
une surveillance simple, des médicaments, la chirurgie,.... Le diagnostic médical n'est pas
uniquement réalisé par les médecins mais aussi de nombreux autres soignants établissent des
diagnostics chaque jour tels que kinésithérapeutes, dentistes, sages-femmes, infirmiers,…
[ CITATION 8 \l 11276 ]. Afin de faciliter la tache au corps médical, des solutions automatiques
ont été proposées.
Dans ce chapitre, nous présenterons tout d’abord les techniques de diagnostic du
paludisme et les travaux réalisés pour améliorer et automatiser ces techniques, ensuite
l’Intelligence Artificielle avec ses principaux types d’apprentissage et enfin les différents
outils pouvant etre utilisés pour réaliser un système intelligent.

1.1 Techniques de diagnostic du paludisme


Dans cette partie, nous présentons les techniques classiques de diagnostic du
paludisme ainsi que les travaux réalisés pour améliorer et automatiser la technique de
référence.

1.1.1 Les techniques classiques


1.1.1.1 Le TDR (Tests de Diagnostiques Rapides)
Les tests diagnostiques rapides (TDR), aussi appelés en anglais RDT (Rapid
diagnostic test) ou POCT (Point of care test), ont été développés pour être utilisés dans les
lieux où il n’y a pas de laboratoire spécialisé, et directement à l’endroit où le patient est pris
en charge [ CITATION 2_1 \l 1036 ]. Les avantages de TDR sur les tests diagnostiques classiques
: permettent de donner un traitement immédiat en cas de maladie lorsque le processus vital du
patient serait engagé (par exemple : malaria), et de faire les examens complémentaires de
manière séquentielle. En effet, dans une méta-analyse de 2005 des TDR pour la détection de
Plasmodium falciparum chez les voyageurs, la sensibilité était déjà de 88 à 99% et la
spécificité de 95 à 100%, avec un coefficient de vraisemblance pour un diagnostic négatif
excellent (0,05)[ CITATION 2_2 \l 1036 ].
Les tests de diagnostiques rapides se présentent sous la forme d’une cassette en
plastique ou d’une carte qui contient une bandelette de nitrocellulose qui est visible à travers
les différentes fenêtres ou alvéoles de la cassette. Un volume déterminé de l’échantillon à
tester (que ce soit sang, salive ou frottis) est en général déposé dans une alvéole, puis
quelques gouttes d’une solution tampon dans une autre alvéole (parfois les tests ont une seule
alvéole pour ces deux composants). L’échantillon migre alors le long de la bandelette et si
l’élément à détecter (antigène du micro-organisme ou anticorps dirigé contre l’agent
infectieux) est présent, il va se fixer sur les anticorps ou antigènes correspondants dans la
fenêtre «test» et une bande de couleur apparaîtra. Une réaction doit aussi se faire dans la
fenêtre contrôle, quel que soit le résultat du test, afin de garantir que la procédure s’est bien
déroulée. Il y a essentiellement deux types de TDR donc ceux basés sur la détection
d’antigènes sont utilisés pour la détection du paludisme en utilisant l’enzyme HRP2
(Histidine-Rich Protein II). Les inconvénients sont :
 La quantité du sang à tester : si cette quantité est trop faible (par exemple : parce que
l’échantillon est déposé sur le rebord en plastique plutôt que sur la bande), il y a un
risque d’avoir un résultat faussement négatif et si trop de sang est déposé sur la
bande, la quantité de tampon ne sera pas suffisante pour éclaircir le sang dans la
fenêtre du test et il sera difficile de voir la bande rouge du résultat ;
 la lecture du résultat (interprétation des bandes) est parfois délicate, en particulier
lorsque le test comporte plusieurs bandes ou que la quantité de parasites est très
faible. Dans cette seconde situation, toute bande qui apparaît, même très légère, est
interprétée comme un résultat positif.
Il est donc impératif pour l’utilisateur de s’exercer à effectuer le test correctement, en
particulier à prélever la bonne quantité d’échantillon à l’aide de la pipette calibrée fournie
avec le test [ CITATION 2_3 \l 1036 ].

1.1.1.2 l’examen microscopique


L'OMS recommande de diagnostiquer sans retard la maladie au moyen d’un diagnostic
parasitologique chez tous les patients dont on suppose qu’ils sont atteints de paludisme, avant
d’administrer le traitement. L'examen microscopique optique implique la visualisation de
plasmodies dans un frottis en goutte épaisse ou frottis mince du sang du patient.
Les examens microscopiques permettent l'identification de différents parasites à
l'origine du paludisme (P. falciparum, P. vivax, P. malariae et P. ovale), leurs différents stades
parasitaires, notamment les gamétocytes, et la quantification de la densité parasitaire pour
suivre la réponse au traitement. Les examens microscopiques sont la méthode de choix pour
enquêter sur les raisons des échecs thérapeutiques. L'examen microscopique optique est la
méthode diagnostique de référence au regard de laquelle les autres méthodes diagnostiques
sont habituellement prises comme mesure de référence.
Si l'examen microscopique reste la pierre angulaire d'un diagnostic parasitologique du
paludisme dans la plupart des grands établissements de soins et hôpitaux, mais il présente des
limites qui sont : sa qualité qui est souvent insuffisante pour assurer une bonne sensibilité et
spécificité du diagnostic du paludisme, perturbant l'issue thérapeutique et l'utilisation optimale
des ressources et aussi le système de gestion de cette qualité efficace requiert des ressources
matérielles et financières très importante.
Le nombre de patients soumis à un examen microscopique a augmenté, pour atteindre
204 millions en 2016. Dans la Région de l'Afrique, le nombre de patients ayant bénéficié d'un
examen microscopique est passé de 33 millions en 2010 à 51 millions en 2016 [ CITATION 49 \l
1036 ] et un service d'examen microscopique de niveau acceptable doit être d'un bon rapport
coût-efficacité et fournir des résultats d'une exactitude constante et suffisamment rapides pour
avoir un impact direct sur le traitement. Cette configuration requiert un programme
d'assurance qualité fonctionnel et complet. D’où des systèmes intelligents pour optimiser
l’examen microscopique en traitement les images microscopiques des frottis sanguins minces
et/ou épais colorés au Giemsa grâce aux traitements d’image et à l’intelligence artificielle ont
été mises en place.

1.1.2 Les techniques automatiques


Les méthodes manuelles se sont avérées très difficiles à appliquer pour la détection du
paludisme parce qu’elles nécessitent beaucoup des ressources et des personnels qualifiés.
C’est dans l’optique d’automatiser la méthode microscopique, méthode par excellence pour
donner un diagnostic acceptable selon l’OMS grâce au traitement d’images et à l’intelligence
artificielle que des méthodes automatiques ont été mise en place.
1.1.2.1 Traitement d’image et diagnostic du paludisme
1.1.2.1.1 Travaux sur l’identification des parasites du
paludisme et classification de quatre espèces
Hassan Abdelrahman Mohammed et al. [ CITATION 10 \l 11276 ] ont proposé un système
de traitement d'images pour identifier les parasites du paludisme dans les frottis sanguins
minces et les classer dans l'une des quatre espèces de paludisme. Ce système se présente en
deux phases : dans la première phase, un traitement morphologique est appliqué pour extraire
les images sanguines des globules rouges ; l’algorithme développé sélectionne les régions
suspectes et détecte les parasites dans les images y compris les cellules superposées ainsi les
globules rouges sont classés en cellules infectées et non infectées et le nombre des globules
rouges dans chaque image est calculé. Dans la deuxième phase, le système utilise la fonction
de la fonction de corrélation croisée normalisée pour classer le parasite dans l'une des quatre
espèces à savoir, Plasmodium falciparum, Plasmodium vivax, Plasmodium ovale et
Plasmodium malariae. Comparé aux résultats manuels, le système a atteint une précision de
95% pour la détection et le comptage des globules rouges et 100% pour la détection et la
classification du parasite dans l'un de ces quatre types.
1.1.2.1.2 Travaux sur la détection et classification des parasites
du paludisme
Neetu Ahirwar et al. [ CITATION 11 \l 11276 ] ont analysé une méthode de détection et
de classification des parasites du paludisme à l'aide de techniques de segmentation des
érythrocytes, de génération de caractéristiques et de classification.
F.Boray Tek et al.[ CITATION 12 \l 11276 ] ont proposé une méthode de détection et
d'identification des parasites du paludisme à l'aide d'algorithmes d'extraction d'objets colorés,
d'extraction de caractéristiques, de classification et de détection.
Dans le but d’étendre notre recherche sur des méthodes pointues qu’apporte la
technologie, nous nous sommes aussi intéressés aux éléments de réponse qu’apporte
l’Intelligence Artificielle dans le système de diagnostic médical. Ainsi, nous présentons les
travaux réalisés dans le cas du diagnostic du paludisme en utilisant les réseaux de neurones
artificiels comme outil de l’IA.
1.1.2.2 Système de diagnostic du paludisme utilisant les réseaux de
neurones
1.1.2.2.1 Détection quantitative du paludisme
Muhammad Imran Razzak [ CITATION 13 \l 11276 ] a proposé une méthode de
segmentation des cellules infectées par le paludisme et de classification en utilisant le réseau
des neurones (RNA) dans l’une des quatre espèces du plasmodium. L’utilisation des systèmes
intelligents pour l’analyse visuelle permet un examen qualitatif et quantitatif des cellules mais
n’est pas encore assez connue [ CITATION 14 \l 11276 ]. La reconnaissance de formes et
l’analyse du sang peuvent aider les hématologues à analyser l'échantillon de sang et à
diagnostiquer des maladies comme le sida, le paludisme et le cancer du sang. Des travaux de
recherche ont été menés afin de permettre d’analyser les images de frottis sanguins dans le
domaine de l'immunologie, des maladies infectieuses, de la transplantation, de la malignité
hématologique et du développement de vaccins afin de diagnostiquer l'existence d'une
infection dans le sang humain. Ainsi, plusieurs travaux de recherche ont produit des
algorithmes de traitement d'images et de reconnaissance de formes pour la segmentation et la
classification automatiques des cellules sanguines infectées par le paludisme. Ruberto et al.
[ CITATION 15 \l 11276 ] ont utilisé un paraboloïde modal pour la correction de l'éclairage.
Sriram et al. [ CITATION 16 \l 11276 ] ont utilisé le mode diagonal pour la modélisation de
l'illumination. En mode diagonal, une image d'illumination inconnue est transformée en
espace d'illuminant connu en multipliant les valeurs de pixels par une matrice diagonale. Das
et al.[ CITATION 17 \l 1036 ] ont fait des hypothèses dans le codage en niveaux de gris pour
corriger l'éclairage. Muhammad a utilisé un filtrage passe-bas local adaptatif pour corriger les
différences de luminance sur le canal de luminance [ CITATION 19 \l 1036 \m 18] . Pour la
segmentation d'images colorées en ROI, une méthode de classification supervisée basée sur
l'espace colorimétrique RVB est utilisée. Les fonctions de couleur contribuent à différencier
les formes similaires et les cellules qui se chevauchent. Les frottis sanguins sont représentés
en composantes RGB/RVB (rouge, vert et bleu), pour chaque pixel dans les images. Toutes
les caractéristiques sont alors calculées dans chacune de ces composantes de couleur.
Suradkar [ CITATION 20 \l 1036 ] a ainsi pu constater lors de son analyse sur les cellules
infectées par le parasite du paludisme que les globules rouges saines sont rouges alors que
celles infectés par le paludisme ont un cycle bleu. Vient alors ensuite la tâche fastidieuse de
classification des cellules infectées par le paludisme.
L’intelligence artificielle a déjà par le passé montré son efficacité dans le domaine de
la reconnaissance des cellules sanguines. Des outils de classification tels que SVM, K-means,
ainsi que les Réseaux de neurones artificiels (RNAs) ont en effet apporté des résultats
satisfaisant dans des travaux de recherche antérieures.
La Classification de cellules infectées a été réalisée par les réseaux neuronaux de
rétropropagation (RNA). Il s’agit d’un modèle mathématique simulant de façon structurelle et
fonctionnelle les réseaux de neurones biologiques. Pour être utilisé, un RNA doit être entraîné
à apprendre et restituer ses acquis. L’apprentissage est une tâche déterminante. Deux types de
fonctionnalités ont été fournis en entrée du RNA, comme indiqué dans la phase de sélection
de caractéristiques. Les résultats fournis par le RNA ont été satisfaisants.

1.1.2.2.2 Détection et classification automatique du


paludisme
Neetu Ahirwar et al. [ CITATION 21 \l 1036 ] ont étudié la possibilité d'un diagnostic
automatisé rapide et précis des globules rouges et décrit une méthode pour détecter et classer
les parasites paludéens dans des échantillons sanguins acquis à partir de microscopes
optiques. Les techniques nouvelles de sélection de seuil morphologiques sont utilisées pour
identifier les érythrocytes (globules rouges) et les parasites éventuels présents sur les lames
microscopiques. Les caractéristiques d'image basées sur la couleur, la texture et la géométrie
des cellules et des parasites sont générées, ainsi que les caractéristiques qui font appel à une
connaissance a priori du problème de classification humain utilisant un classificateur à réseau
de neurones à rétropropagation inverse distinguent les images sanguines infectées et non
infectées par des parasites.
Soumya Das et al. [ CITATION 22 \l 1036 ] ont travaillé sur l’identification et la
classification automatisées des parasites dans les images de frottis sanguin minces. Les
techniques de traitement d'images sont utilisées pour la détection du paludisme à partir
d'images microscopiques de frottis de sang minces coloré au Giemsa. Ici, les images de frottis
sanguins sont analysées selon deux méthodes : la première méthode consiste à extraire les
caractéristiques SIFT à partir d'images prétraitées et les conduire au classificateur pour la
reconnaissance. Une analyse comparative de SVM (Support Vector Machine) et ANN
(Artificial Neural Network) est réalisée pour la reconnaissance des caractéristiques SIFT
extraites. La deuxième méthode consiste à diriger l'image directement sans aucun
prétraitement vers un réseau basé sur un CNN (Convolutional Neural Network). La méthode
d'extraction de caractéristiques basée sur le SIFT produit une efficacité de reconnaissance de
94% avec le SVM et une efficacité de 96% et la méthode d'extraction de caractéristiques
basée sur ANN.CNN produit une efficacité de reconnaissance de 98%.
Gloria Diaz et al. [ CITATION 23 \l 1036 ] ont prédit et classé les érythrocytes infectés et
estimé les parasites du paludisme en utilisant la classification de l'espace colorimétrique,
l'étiquetage des pixels, la représentation de l'arbre d'inclusion, la division des érythrocytes
agglomérés, le Multi-Layer Perceptron (MLP) et les techniques SVM (Support Vector
Machine) afin de prédire le paludisme.
Le tableau ci-après présentera un récapitulatif de l’avancé de ces travaux de recherche.

Tableau 1.1 : Travaux de recherche antérieurs sur le diagnostic du paludisme

Auteur Entrée Méthode Sortie

Purnima Détection du
Image microscopique
Pundit et al. paludisme par
holographique Réseau des neurones
2016 globules rouges
interférométrique artificiels (ANN)
[ CITATION 24 \l infectés
numérique (DHM)
1036 ]

Meng-Hsim
Tsai et al.
Histogramme adaptatif, Détection
2015 Images de frottis de segmentation du seuil et parasitaire du
[ CITATION 25 \l sang mince clustering K-means paludisme
1036 ]

Kshipra Prétraitement d'image -


Images segmentation de transformée
C.Charpe et
microscopiques de de Hough - rapport de Détection des
al. 2015 frottis de sang mince couronne annuel - extraction stades
[ CITATION 26 \l de caractéristique - opérations parasitaires du
1036 ] de morphologie, classification paludisme
– SVM

Amélioration de l'image -
étirement du contraste et
Hanung Adi Classification du
filtrage médian et conversion
Nugroho et al. parasite du
Images de frottis de en HSV, segmentation -
2015 paludisme et
sang mince clustering K-means,
[ CITATION 27 \l détection des
extraction de caractéristiques -
1036 ] stades
texture de l'histogramme,
classification – MLP
J.Somasekar et Prétraitement de l'image - Détection des
Images
al.2015 Transformation de l'espace en érythrocytes
microscopiques
[ CITATION 28 \l niveaux de gris RVB-Couleur, affectés
égalisation Gamma et
Adaptive
1036 ] Filtre médian, rehaussement
des bords de la segmentation,
Extraction des érythrocytes –
Fuzzy CMeans clustering

1.2 Traitement d’images pour le diagnostic du


paludisme
Le traitement d’images est l’ensemble des méthodes et techniques opérant sur celles-
ci, dans le but de rendre cette opération possible, plus simple, plus efficace et plus agréable,
d’améliorer l’aspect visuel de l’image et d’en extraire des informations jugées pertinentes.
Dans cette partie, nous abordons les notions de base nécessaires à la compréhension des
techniques de traitement d’images. Ensuite, nous allons donner un aperçu sur les différentes
techniques utilisées dans le domaine du diagnostic du paludisme.

1.2.1 Acquisition d’images


L’acquisition d’images constitue un des maillons essentiels de toute chaîne de
conception et de production d’images. Pour pouvoir capturer le frottis sanguin mince ou épais,
il faut se munir d’un microscope optique de grossissement 500x au moins et le connecter à
une caméra numérique. La figure 1.1 illustre une image d’acquisition.

Figure 1.1 : Image acquise


1.2.2 Prétraitements
Cette phase a lieu juste après l’acquisition des images et a pour objectif d’améliorer la
qualité de l’image en vue de sa segmentation. Le temps de traitement (temps CPU) est très
important. C’est un facteur décisif, il doit être le plus petit possible. Les techniques de
prétraitements les plus courantes utilisées sur les images de frottis sanguin sont :
 Transformation de l’image en niveau de gris

Le niveau de gris est la valeur de l’intensité lumineuse en un point. La couleur du pixel


peut prendre des valeurs allant du noir au blanc en passant par un nombre fini de niveaux
intermédiaires. Donc pour représenter les images à niveaux de gris, on peut attribuer à chaque
pixel de l’image une valeur correspondant à la quantité de lumière renvoyée. Cette valeur peut
être comprise par exemple entre 0 et 255. Chaque pixel n’est donc plus représenté par un bit,
mais par un octet. Généralement dans le cas de diagnostic du paludisme les images sont
converties en noir sur blanc pour faciliter la localisation des parasites. La figure 1.2 illustre
une image de frottis transformée en niveau de gris.

Figure 1.2 : Image transformée en niveau de gris

 Histogramme
L’histogramme des niveaux de gris ou des couleurs d’une image est une fonction qui
donne la fréquence d’apparition de chaque niveau de gris (couleur) dans l’image. Il permet de
donner un grand nombre d’information sur la distribution des niveaux de gris (couleur) et de
voir entre quelles bornes est repartie la majorité des niveaux de gris (couleur) dans le cas
d’une image trop claire ou d’une image trop foncée.
Pour modifier l’histogramme, on cherche à améliorer l’image en appliquant une
transformation ponctuelle d’intensité; à tout pixel as (x, y) on associe une intensité par la
transformation T croissante de façon à conserver des contrastes entre régions (claire sur fond
sombre, apparaît plus claire après transformation). Le pixel après transformation est le pixel a s
(x, y) : as (x, y)=T (as (x, y)). Il existe deux types de modification d’histogramme : expansion
de dynamique et égalisation d’histogramme. Dans ce cas, c’est l’égalisation d’histogramme
qui est utilisée.
Egalisation d’histogramme :
Cette transformation consiste à rendre le plus plat possible l’histogramme de niveaux
de gris de l’image. L’image A[i,j] est considérée comme un ensemble de réalisation d’une
variable aléatoire A, admettant une densité de probabilité f(a) et une fonction de répartition
F(a), f représente l’histogramme normalisé de A[i,j]. On cherche une transformation T
continue dérivable par morceaux et strictement croissante telle que la variable aléatoire B =
T(A) soit uniformément répartie dans l’intervalle [bmin, bmax]. Soit g(b) la densité de
probabilité de B, et T’ la transformation dérivée de T :
1 1
g ( b) =
{
f (a) =
T ( a ) b max −bmin
,∧si bmin <b<b max

0 ,∧ailleurs
(1.1)

T ' ( a ) =(b ¿ ¿ max−bmin ). f (a), b=T ( a), a ϵ [amin , amax ]¿ (1.2)

La figure 1.3 présente légalisation de l’histogramme de niveau de gris d’une image


acquise.

Figure 1.3 : Egalisation de l'histogramme

1.2.3 Segmentation

Le seuil est la forme la plus simple de segmentation d'image. Ici, l'image en niveaux
de gris est convertie en image binaire, en désignant une étiquette ou un numéro (valeur
d'intensité) à chaque pixel de l'image de sorte que les pixels partagent les mêmes
caractéristiques s'ils ont la même étiquette. Le seuil global ne peut donc pas être utilisé. Le
seuillage local est effectué sur les caractéristiques de l'image locale. Plus la valeur de gris du
pixel est faible, plus il est possible qu'il se trouve dans la région des parasites. La médiane des
valeurs de pixel du bloc particulier est meilleure que les valeurs moyennes car elle donne plus
de précision. L'algorithme dit que si la valeur de pixel est supérieure à la valeur médiane,
alors le pixel conserverait sa valeur, et si la valeur de pixel est inférieure à la médiane de
toutes les valeurs de pixel de ce bloc, alors définir la valeur de pixel. Ce pixel devient noir :
c’est la région d'intérêt (parasite plasmodium).

Figure 1.4 : Image segmentée

1.2.4 Opérations morphologiques


Les transformations morphologiques sont des opérations simples basées sur la forme
de l'image. Il est normalement effectué sur des images binaires. Il a besoin de deux entrées,
l'une est notre image originale, la seconde est appelée élément structurant ou noyau qui décide
de la nature de l'opération. Deux opérateurs morphologiques de base sont l'érosion et la
dilatation. Puis ses variantes comme Ouverture, Fermeture, Gradient etc. entrent également en
jeu. Les opérations morphologiques sont effectuées sur des régions plus petites, c'est-à-dire
sur de petits blocs d'image pour éliminer les parties non désirées et aider à restaurer les parties
manquantes de l'image. Quelques opérations morphologiques utilisées :
Érosion
Supprime les pixels sur les limites des objets, généralement des pixels blancs. La valeur du
pixel de sortie est min. valeur de tous les pixels dans le voisinage du pixel d'entrée. Si le
masque ne correspond pas, le pixel central est défini sur 0.

Figure 1.5 : Erosion [ CITATION 47 \l 1036 ]

Dilatation
Ajoute des pixels sur les limites des objets, généralement des pixels blancs. La valeur du pixel
de sortie est la valeur maximale de tous les pixels dans le voisinage du pixel d'entrée.

Figure 1.6 : Image dilatée

Détection des contours


Elle donne seulement les limites du modèle et élimine chaque autre partie. Il peut également
être utile à des fins d'appariement pour délimiter et représenter les parasites. La figure 1.7
nous montre comment se passe la détection de contours sur l’image de frottis sanguin.

Figure 1.7 : Détection de contours

1.3 Intelligence Artificielle pour le diagnostic du


paludisme
L’Intelligence Artificielle (IA) est l’un des domaines les plus récents de la science et
de l’ingénierie. Les travaux ont sérieusement débuter après la seconde guerre mondiale, et le
nom lui même a été inventé en 1956. Historiquement, quatre approches de l’IA ont été
suivies, chacune par des gens différents avec des méthodes différentes. Une approche axée sur
l’homme doit être en partie une science empirique, impliquant observation et hypothèse sur le
comportement humain. Une approche rationnelle implique une combinaison de mathématique
et d’ingénierie.
L’IA englobe plusieurs sous domaines allant du plus général (apprentissage et
perception) au plus spécifique, comme démontrer des théorèmes mathématiques, traduction
vocale automatique, conduire une voiture ou diagnostiquer des maladies. L’IA se révèle être
utile dans toutes les taches intellectuelles. C’est vraiment un domaine universel et pluri-
disciplinaire. Quand on parle d'intelligence artificielle on parle en général de différentes
techniques de "Machine Learning"et du Deep Learning qui est une branche du Machine
Learning.
Nous présentons en premier les algorithmes de classification en apprentissage
automatique (Machine Learning) et en deuxième les algorithmes d’apprentissage profond
(Deep Learning en anglais) qui ont pour base les réseaux de neurones.

1.3.1 Le Machine Learning (Apprentissage Automatique)


Le "Machine Learning" est un domaine particulier de l'intelligence artificielle qui
concerne l'apprentissage automatique par un processus informatique d'extraction  de résultats
que l'utilisateur cherche a analyser en fonction d'un objectif. Les méthodes utilisées peuvent
être extrêmement diverses, mais concernent essentiellement des techniques issues de
processus d'analyse statistique, ou de mise en œuvre de réseaux de neurones artificiels
(simulés par un processus informatique)
Ces techniques sont profondément différentes des approches informatiques
traditionnelles. En effet dans ces dernières, le résultat des algorithmes est déterminée par le
résultat de calculs dont on connait les tenants et les aboutissants. Dans les processus
d'apprentissage automatique, le résultat dépend d'un apprentissage lui même dépendant de
données dont on extrait le comportement particulier pour le généraliser à une classe de
problèmes : par exemple, la reconnaissance de "chevaux" sur une image dépend d'une "base
de connaissance" de multiples photos de cet animal.
Les algorithmes de Machine Learning utilisés pour diagnostiquer automatriquement le
paludisme sont basés sur la classification.
La classification est le processus de prédiction de la classe de points de données
donnés. Les classes sont parfois appelées étiquettes ou catégories. La modélisation prédictive
de classification consiste à approximer une fonction de mappage (f) de variables d'entrée (X)
qui sont les images microscopiques des frottis sanguins minces et épais à des variables de
sortie discrètes (y) qui sont en deux classes : la classe positive et celle négative.
Nous décrivons dans les sections suivantes les algorithmes d’apprentissage supervisé
et non supervisé utilisés par les travaux présentés pour le diagnostic du paludisme tels que
l’approche Naive bayes, les SVM, et le K-means clustering.

1.3.1.1 L’approche Naive Baye (Classification Bayésienne)


La classification bayésienne naïve est un type de classification probabiliste [CITATION
Espace_réservé2 \l 1036 ] basé sur le théorème de Bayes qui permet de calculer les probabilités
conditionnelles avec une forte indépendance des hypothèses. Elle met en œuvre un
classificateur bayésien naïf appartenant à la famille des classificateurs linéaires. L'avantage du
classificateur bayésien naïf est qu'il requiert relativement peu de données d'entraînement pour
estimer les paramètres nécessaires à la classification, à savoir moyennes et variances des
différentes variables. En effet, l'hypothèse d'indépendance des variables permet de se
contenter de la variance de chacune d'entre elles pour chaque classe, sans avoir à calculer de
matrice de covariance. La superposition des caractéristiques d’apprentissage sont
indépendantes c’est-à-dire que la probabilité qu’une caractéristique apparaisse dans le modèle
est indépendante de la présence des autres caractéristiques. La limite de ce classifieur
Bayésien est que la prédiction devient erronée si l’hypothèse d’indépendance conditionnelle
est invalide. Et aussi, il est particulièrement utile pour les problématiques de classification de
texte. Un exemple d’utilisation du Naive Bayes est celui du filtre anti-spam.

1.3.1.2 Les SVM (Support Vector Machine)


Les machines à vecteurs de support (Support Vector Machine, SVM) appelés aussi
séparateurs à vaste marge sont des techniques d’apprentissage supervisées destinées à
résoudre des problèmes de classification. Les SVM sont des classificateurs qui reposent sur
deux notions clés : la marge maximale et la frontière de séparation. La marge est la distance
entre la frontière de séparation et les échantillons les plus proches appelés vecteurs supports
alors que la frontière de séparation est choisie comme celle qui maximise la marge. La
transformation de l’espace de représentation des données en entrées en un espace de
dimension infinie dans lequel il existe probablement une séparation linéaire afin de pouvoir
traiter des cas où les données ne sont pas linéairement séparables.
Cette technique est une méthode de classification à deux classes qui garantit une
généralisation du principe car de nouveaux exemples pourront ne pas être trop similaires à
ceux utilisés pour trouver l’hyperplan mais être situés d’un côté ou l’autre de la frontière.
L’intérêt de cette méthode est la sélection de vecteurs supports qui représentent les vecteurs
discriminant grâce auxquels est déterminé l’hyperplan. Les exemples utilisés lors de la
recherche de l’hyperplan ne sont alors plus utiles et seuls ces vecteurs supports sont utilisés
pour classer un nouveau cas, ce qui peut être considéré comme un avantage pour cette
méthode.
Les avantages de cette technique sont :
 Les SVM possèdent des fondements mathématiques solides ;
 Les exemples de test sont comparés juste avec les supports vecteurs et non pas avec
tous les exemples d’apprentissage ;
 Décision rapide : classification d’un nouvel exemple consiste à voir le signe de la
fonction de décision
Ces inconvénients peuvent être :
 La classification binaire ;
 Une grande quantité d’exemples en entrées implique un calcul matriciel important ;
 Temps de calcul élevé lors d’une régularisation des paramètres de la fonction noyau.
Les algorithmes de classification décrits dans cette partie fonctionnent bien pour une
grande variété de problèmes. Cependant ils restent limités quant à la résolution de problèmes
majeurs de l’IA tels que la reconnaissance vocale et la reconnaissance d’objets, la
reconnaissance des formes. D’où les algorithmes basés sur les réseaux de neurones artificiels
que nous présentons dans le prochain paragraphe.
On observe que la classification bien qu’apportant des solutions facilement réalisable,
ne permet pas de gérer avec efficacité le problème d’une grande complexité. En revanche,
l’outil RNA (Réseau de Neurone Artificiel) a montré son efficacité dans des problèmes d’un
très grand niveau de complexité.

1.3.1.3 Le K-means clustering


Le k –means clustering est une méthode de quantification vectorielle, originaire du
traitement du signal, qui est populaire pour l'analyse de cluster dans l'exploration de données.
Les k-means clustering vise à partitionner n observations en k grappes dans lesquelles chaque
observation appartient à la grappe avec la moyenne la plus proche, servant de prototype de la
grappe. Les principaux avantages de k-means sont :
 l’algorithme de K-means est très populaire du fait qu’il est très facile à comprendre
et à mettre en œuvre;
 sa simplicité conceptuelle et sa rapidité
 applicable à des données de grandes tailles, et aussi à tout type de données (mêmes
textuelles), en choisissant une bonne notion de distance.
Une des principales limites de k -means est son modèle de cluster qui est construit par
rapports à des objets inexistants (les milieux). Son algorithme classique se présente de la
manière suivante :

Figure 1.8: Algorithme classique d’un k-means.

Les trois principales caractéristiques du k-means qui le rendent efficace sont souvent
considérées comme ses principaux inconvénients:
 La distance euclidienne est utilisée comme métrique et la variance est utilisée
comme mesure de la dispersion des grappes ;
 Le nombre de grappes k est un paramètre d'entrée: un choix inapproprié de k
peut donner de mauvais résultats. C'est pourquoi, lors de l'exécution de k-
means ; il est important d'effectuer des vérifications de diagnostic pour
déterminer le nombre de grappes dans l'ensemble de données ;
 La convergence vers un minimum local peut produire des résultats contre-
intuitifs ("faux").
1.3.2 Le Deep Learning (Apprentissage Profond)
Le Deep Learning est utilisé dans le domaine de diagnostic du paludisme, il est basé
sur les réseaux de neurones artificiels.

1.3.2.1 Les réseaux de neurones artificiels (RNA)


Un réseau neuronal artificiel est un système dont la conception est à l’origine
schématiquement inspirée du fonctionnement des neurones biologiques et qui par la suite s’est
rapproché des méthodes statistiques. Les réseaux de neurones artificiels fonctionnent en
répartissant les valeurs des variables dans les neurones. Ces neurones sont chargés de
combiner entre eux leurs informations pour déterminer la valeur du paramètre de
discrimination et c’est de la connexion de ces neurones entre eux qu’émerge la capacité de
discrimination du RNA. Chaque neurone reçoit des informations numériques en provenance
de neurones voisins ; à chacune de ces valeurs est associé un poids représentatif de la force de
la connexion. Chaque neurone effectue localement un calcul dont le résultat est transmis
ensuite aux neurones avals. A chacune de ces entrées est associé un poids w abréviation de
weight (poids en français) représentatif de la force de la connexion et à chaque connexion est
associé un poids (voir figure en dessous). On applique une fonction d’activation à la somme
pondérée des entrées. La fonction d’activation utilisée était initialement un seuil : la sortie
valant 1 si la somme pondérée dépasse le seuil et 0 sinon comme illustre l’équation 1.3 où on
note b la valeur du seuil.

1 si ∑ W k i k >b
Y=
{ k
0 , sinon
(1.3)

Figure 1.9 : Structure d’un neurone artificiel en correspondance avec celle d’un neurone biologique [
CITATION 31 \l 1036 ]
 Les Couches d’un RNA
Chaque couche d’un réseau de neurones artificiel est constituée d'un nombre variable
de neurones, les neurones de la dernière couche (dite « de sortie ») étant les sorties du système
global. Le perceptron multicouche est organisé en trois parties :
 La couche d’entrée (input layer) est un ensemble de neurones qui portent le signal
d’entrée. Tous les neurones de cette couche sont ensuite reliés à ceux de la couche
suivante ;
 La couche cachée (hidden layer) ou plus souvent les couches cachées (couche cachée
1, couche cachée 2, …). Il s’agit du cœur du perceptron, où les relations entre les
variables sont mises en exergue ;
 La couche de sortie (output layer) : cette couche représente le résultat final de notre
réseau, sa prédiction.
Choisir le bon nombre de neurones par couche et le bon nombre de couches est très
difficile pour un concepteur et demande une certaine expérience. Le plus souvent, avoir un
nombre de couches élevé entraîne très souvent des problèmes d’overfitting (sur-apprentissage
en français car on a tellement appris qu’on ne peut plus généraliser).
 Les fonctions d’activation
La fonction d’activation est appelée fonction de seuillage, ou encore fonction de
transfert. Elle sert à introduire une non-linéarité dans le fonctionnement du neurone. Pour
superposer plusieurs perceptrons, la fonction d’activation utilisée en principe est la fonction
sigmoïde (équation 1.4).
1
sigm ( x ) = (1.4)
1+e x

Figure 1.10: La fonction sigmoïde [CITATION Espace_réservé4 \l 11276 ]

Les autres fonctions d’activation sont :


 La fonction linéaire
Y =x (1.5)

Figure 1.11 : Fonction linéaire

 La fonction tangente hyperbolique


e x −e−x
tanh ( x )= (1.6)
e x + e−x

Figure 1.12 : Fonction tangente hyperbolique [CITATION Espace_réservé4 \l 11276 ]

 La fonction ReLU (Rectified Linear Unit)


ReLU ( x )=max ( 0 , x ) (1.7)

Figure 1.13 : Fonction ReLU [CITATION Espace_réservé4 \l 11276 ]

La famille de réseau majoritairement employé est le perceptron multicouche (PMC).


Il comporte quelques dizaines à quelques centaines de neurones dans les cas usuels, voire
plusieurs milliers pour les applications graphiques.
1.3.2.2 Le Perceptron Multicouche (PMC), Algorithme de
rétropropagation
 Définition et fonctionnement
Le perceptron multicouche (MultiLayer perceptron MLP) est un type de réseau
neuronal formel organisé en plusieurs couches au sein desquelles une information circule de
la couche d'entrée vers la couche de sortie uniquement.
Lorsque tous les neurones d’une couche sont connectés aux neurones de la couche
suivante, on parle alors de couches complètement connectées. [CITATION Espace_réservé3 \l
11276 ]

Figure 1.14 : Architecture d’un perceptron avec le sens de rétropropagation de l’erreur [CITATION
Espace_réservé4 \l 11276 ]

 Apprentissage
L’apprentissage avec le perceptron multicouche consiste à déterminer les poids w de
tous les neurones. La phase d’apprentissage repose intégralement sur la « descente de
gradient ». La rétropropagation consiste à rétropropager l'erreur commise par un neurone à
ses synapses et aux neurones qui y sont reliés. Dans le cas du MLP, on utilise habituellement
la rétropropagation du gradient de l'erreur, qui consiste à corriger les erreurs selon
l'importance des éléments qui ont justement participé à la réalisation de ces erreurs. Il s’agit,
d’une correction guidée par l’erreur entre les sorties désirées et obtenues au niveau de la
couche de sortie et au niveau des couches cachées, une correction selon les sensibilités
(influence du neurone sur l’erreur dans la couche de sortie).
Prenons un cas pratique pour mieux comprendre la rétropropagation de l’erreur :
Considérons un exemple de Perceptron multicouche avec une couche d’entrée, deux couches
cachées et deux couches de sortie. On désigne par σ i (x ) la fonction d’activation
correspondant à un neurone i et on considère que ce perceptron multicouche a N neurones
d’entrée, activés par un vecteur 𝒙 = [𝒙𝟏, 𝒙𝟐, …, 𝒙𝑵] de taille N, et par w 0,1
ij le poids

correspondant à la connexion entre le neurone i de la couche 0 et le neurone j de la couche 1,


la sortie α 1j de chacun des neurones de la première couche cachée sera exprimée par :
α 1j =σ j ¿ (1.9)
Où σ j est l’une des fonctions d’activation décrites précédemment, et b 1j est un
paramètre supplémentaire appelé biais, qui peut être considéré comme le poids d’une entrée
constante (c’est-à-dire égale à 1), et dont le rôle est de rajouter un degré de liberté
supplémentaire en agissant sur la position de la frontière de décision [ CITATION 30 \l 11276 ].
Ce même processus peut être répété pour les couches cachées ou la couche de sortie.
On calcule l’erreur quadratique moyenne entre la sortie observée ou prédite et la sortie désirée
notée E j l’erreur sur la sortie à partir de l’équation suivante :
M
E j=
√ 1
M∑k=1
e2k (1.10)

1
Où exprime la moyenne de l’erreur sur tous les neurones de la couche de sortie d’un
M
échantillon de l’ensemble d’entrainement et e k l’erreur sur un neurone de la couche de sortie
est donnée par :
ek= y ' k− yk (1.11)
Où y’(k) est la sortie désirée et y(k) la sortie observée ou prédite définies respectivement

comme suit : y ' (k )=[ y ' 1 , … , y ' M ] et y ( k ) =[ y 1 , … , y M ].


L’erreur globale pour tout l’ensemble d’entrainement est :
T
E=∑ E2j (1.12)
j=1

Où T est le nombre d’exemple dans l’ensemble d’entrainement.


Le gradient de la fonction de cout global est calculé par rapport aux paramètres du
réseau et est ensuite rétropropagé dans le réseau, ceci dans le but de minimiser cette fonction
de cout global. Enfin, les poids du réseau sont mis à jour dans la direction opposée à ce
gradient comme suit :
w ij =wij +∆ wij (1.13)
∂E
∆ wij =−ε (1.14)
∂ wij
Où ε est le taux d’apprentissage appelé ‘Learning rate’ en anglais, et où w ij sont les poids. Le
calcul des dérivées partielles pour chacune des couches a été fait comme dans [CITATION
Espace_réservé5 \l 11276 ].
Le processus décrit ci-dessus est répété pendant plusieurs itérations appelées ‘epochs’
en anglais) jusqu’à ce que l’erreur quadratique moyenne devienne quasi-nulle (on parle de
convergence). Le réseau retenu comme le plus performant est celui qui aurait obtenu l’erreur
quadratique moyenne la plus faible sur une base indépendante de celle d’apprentissage,
appelée base de validation. Lorsque l’erreur quadratique moyenne sur la base de validation
augmente, on parle de l’arrêt d’apprentissage qu’on appelle “arrêt prématuré”, en anglais «
early stopping ». Si on s’entraine trop sur les données d’entrainement, le réseau de neurones
se met à distinguer des caractéristiques qui ne sont propres qu’au jeu de données et perd sa
généralité. Il devient moins performant sur le reste des données ; d’où le phénomène appelé
sur apprentissage ou overfitting en anglais (Voir figure 1.15). Pour éviter ce phénomène, il
faut tester périodiquement l’algorithme sur des données dont nous connaissons l’identifiant
mais qui sont inconnues de notre réseau appelées données de validation.

Figure 1.15 : Overfitting et Underfitting

Bien qu'efficaces pour le traitement d'images, les perceptrons multicouches (MLP)


d’une part ont des difficultés à gérer des images de grande taille, dû à la croissance
exponentielle du nombre de connexions avec la taille de l'image et au fait que chaque neurone
est « totalement connecté » à chacun des neurones de la couche précédente et suivante. Et
d’autre part le problème traité (diagnostic de paludisme à partir de frottis sanguins) nécessite
un choix judicieux des paramètres à extraire dans les images en entrée, et là réside une
complexité sous-jacente parce qu’il faut s’assurer que le vecteur de paramètre est corrélé avec
la sortie idéale (patient atteint de paludisme ou non) et que les paramètres sont les plus
possibles indépendants entre eux. D’où l’intérêt de porter un regard dans notre étude de
spécifications sur les réseaux de neurones convolutifs ou à convolution. Car en effet, ceux-ci,
de par leur principe de fonctionnement même nous procure une solution quant à la
problématique du choix d’un jeu de paramètres adapté au problème.

1.3.2.3 Les réseaux de neurone à convolutions


 définition et fonctionnement
Les réseaux de neurones convolutifs (Convolutional Neural Network en abrégé CNN,
en anglais) désignent une sous-catégorie de réseaux de neurones artificiels spécialement
conçus pour traiter des images en entrée. Ces réseaux ont été inspirés par les travaux de Hubel
et Wiesel sur le cortex visuel animal [CITATION 33 \l 11276 ]. Leur architecture est alors
plus spécifique. Elle est composée de deux blocs principaux :
 Le premier bloc est la partie convolutive qui fonctionne comme un extracteur de
features (paramètres ou métriques), il fait la particularité des réseaux de neurones
convolutifs. Pour cela, il effectue des opérations de filtrage par convolution. La
première couche filtre l'image avec plusieurs noyaux de convolution, et renvoie des
cartes de convolutions appelées "feature maps", qui sont ensuite normalisées avec une
fonction d'activation et/ou redimensionnées. Ce procédé peut être réitéré plusieurs
fois. A la fin de ce procédé, les valeurs des dernières feature maps sont concaténées
dans un vecteur. Ce vecteur définit la sortie du premier bloc, et l'entrée du second ;
 Le second bloc est constitué des couches entièrement connectées (perceptron
multicouche). Il se retrouve en fait à la fin pour la classification en combinant les
caractéristiques extraites du premier bloc. Les valeurs du vecteur en entrée sont
transformées (avec plusieurs combinaisons linéaires et fonctions d'activation) pour
renvoyer un nouveau vecteur en sortie. Ce dernier vecteur contient autant d'éléments
qu'il y a de classes : l'élément i représente la probabilité que l'image appartienne à la
classe i. Chaque élément est donc compris entre 0 et 1, et la somme de tous vaut 1. Ces
probabilités sont calculées par la dernière couche de ce bloc (et donc du réseau), qui
utilise une fonction logistique (classification binaire) ou une fonction softmax
(classification multi-classe) comme fonction d'activation.
Les réseaux CNN se basent sur trois idées architecturales clés :
 Des champs récepteurs locaux associés à des convolutions qui permettent de détecter
des caractéristiques élémentaires sur l’image, formant ainsi une carte de
caractéristiques ;
 Un principe appelé partage des poids, qui consiste à apprendre les mêmes paramètres
(ou poids) d’une convolution (et par conséquence extraire les mêmes caractéristiques)
pour toutes les positions sur l’image. Ce principe représente l’idée clé des CNNs,
puisqu’il permet de réduire considérablement la complexité en diminuant le nombre de
paramètres à apprendre, et d’avoir ainsi des architectures multicouches qui opèrent sur
des entrées de grande dimension tout en étant de taille réaliste (ce qui n’était pas
réalisable avec le MLP). De plus, le partage des poids permet d’améliorer les
performances en termes de généralisation du réseau, et d’être cohérent avec les études
faites sur le cortex visuel [CITATION 33 \l 11276 ].
 Des opérations de sous-échantillonnage qui permettent de réduire la sensibilité aux
translations, ainsi que de réduire le coût du traitement.
La figure 1.16 illustre l’architecture d’un CNN où ses trois bases architecturales sont
représentées avec les cartes grises qui sont des cartes de convolution notées C i, les cartes en
bleu sont des cartes de sous-échantillonnage notées Si, et les ronds blancs sont les neurones
notés Ni.

Figure 1.16 : Architecture d'un CNN [CITATION 33 \l 11276 ]

 Les différentes couches d’un CNN


L’architecture d’un réseau neuronal à convolution est formée sur un empilement des
couches traitant successivement l'information. La figure 1.17, montre ces différentes couches
que sont :
 La couche de convolution (CONV) qui traite les données d'un champ récepteur ;
 La couche de pooling (POOL), qui permet de compresser l'information en réduisant la
taille de l'image intermédiaire (souvent par sous-échantillonnage) ;
 La couche de correction (ReLU), fait référence à la fonction d'activation (Rectified
Linear Unit ou Unité de rectification linéaire) ;
 La couche "entièrement connectée" (FC), qui est une couche de type perceptron.

Figure 1.17 : Couches du CNN [CITATION 36 \l 1036 ]

 La couche de convolution
La couche de convolution est la composante clé des réseaux de neurones convolutifs,
et constitue toujours au moins leur première couche. Elle reçoit donc en entrée plusieurs
images, et calcule la convolution de chacune d'entre elles avec chaque filtre. Les filtres
correspondent exactement aux features que l'on souhaite retrouver dans les images et chacun
de ces filtres activant certaines caractéristiques des images appelées feature maps, qui nous
indique où se situent les features dans l'image : plus la valeur est élevée, plus l'endroit
correspondant dans l'image ressemble à la feature.
Comme nous utilisons des images, la formule de convolution est la suivante :
s ( i, j ) =( x∗w )( i , j )=∑ ∑ x ( m, n ) w ( i−m, j−n ) (1.15)
m n

Où le premier argument (la fonction x) de la convolution est souvent appelé l’entrée (input) et
le second argument (la fonction w) comme noyau (kernel). La sortie est parfois appelée
feature map. La figure ci-contre donne un exemple de processus de convolution

Figure 1.18 : Exemple du processus de convolution [ CITATION 37 \l 1036 ]

 La couche de pooling
La couche de pooling est une forme de sous-échantillonnage de l'image. Elle suit la
couche de convolution et est aussi importante pour le CNN. L'image d'entrée est découpée en
une série de rectangles de n pixels de côté ne se chevauchant pas. Chaque rectangle peut être
vu comme une tuile. Le signal en sortie de tuile est défini en fonction des valeurs prises par
les différents pixels de la tuile.
Le pooling permet de réduire la taille spatiale d'une image intermédiaire afin de
réduire la quantité de paramètres et de calcul dans le réseau, et par conséquent contrôler le
sur-apprentissage (overfitting, en anglais). Il permet aussi l’invariance aux petites translations.
La forme la plus courante de pooling est une couche de mise en commun avec des
tuiles de taille 2x2 (largeur/hauteur) et comme valeur de sortie la valeur maximale en entrée.
On parle donc de « Max-Pool 2x2 ». Il est possible d'utiliser d'autres fonctions de pooling que
le maximum. On peut utiliser un « average pooling » dont la sortie est la moyenne des valeurs
du patch d'entrée). Dans les faits, même si initialement l'average pooling était souvent utilisé
il s'est avéré que le max-pooling était plus efficace car celui-ci augmente plus
significativement l'importance des activations fortes.
Le pooling permet un gain important en puissance de calcul. Cependant, en raison de
la réduction agressive de la taille de la représentation (et donc de la perte d'information
associée), la tendance actuelle est d'utiliser de petits filtres (type 2x2). Il est aussi possible
d'éviter la couche de pooling mais cela implique un risque sur-apprentissage plus important.

Figure 1.19 : Max Pooling avec un filtre de 2X2 [ CITATION 37 \l 1036 ]

 La couche de correction (ReLU)


Un élément important dans l’ensemble du processus est l’Unité linéaire rectifiée ou
ReLU. C’est la fonctionF ( x )=max ( 0 , x ). Cette fonction force les neurones à retourner des
valeurs positives ; c’est-à-dire à chaque fois qu’il y a une valeur négative dans un pixel, on la
remplace par un 0. Ainsi, on permet au CNN de rester en bonne santé (mathématiquement
parlant) en empêchant les valeurs apprises de rester coincées autour de 0 ou d’exploser vers
l’infini.
C’est un outil fondamental sans lequel le CNN ne produirait pas vraiment les résultats
qu’on lui connaît.
 Les couches entièrement connectées
Après plusieurs couches de convolution et le max pooling, le raisonnement de haut
niveau dans le réseau neuronal se fait via des couches entièrement connectées. La couche
entièrement connectée est tout simplement l’application d’un réseau de neurones classique
(perceptron multicouche) à toutes les caractéristiques classifiées par les étapes précédentes.
La sortie est une dernière couche comportant un neurone par catégorie, par exemple
dans le cas du diagnostic nous avons deux catégories (sain ou malade). Les valeurs
numériques obtenues sont généralement normalisées entre 0 et 1, de somme 1, pour produire
une distribution de probabilité sur les catégories en précisant à quel degré l’image en question
est correcte à celle de l’entrée.
 La couche de perte (Loss en anglais)
La couche de perte spécifie comment l'entrainement du réseau pénalise l'écart entre le
signal prévu et réel. Elle est normalement la dernière couche dans le réseau. Diverses
fonctions de perte adaptées à différentes tâches peuvent y être utilisées. La perte «Softmax»
est utilisée pour prédire une seule classe parmi K classes mutuellement exclusives. La perte
par entropie croisée sigmoïde est utilisée pour prédire K valeurs de probabilité indépendante
dans [0,1].
 Apprentissage
Un réseau de neurone profond consiste en des milliers voire des millions de neurones
organisés en couches interconnectées grâce à des liens pondérés (Wi). Chaque nœud est
caractérisé par l’ensemble {Fi (fonction d’activation) + Ci (condition d’activation)}. Le
travail de l’apprentissage est donc de trouver la combinaison optimale des Wi/Fi/Ci pour
générer les meilleurs résultats en termes de prédiction et d’estimation.
Pour entraîner notre réseau et trouver les valeurs de ses millions de poids, les diverses
solutions envisageables, une des plus utilisées est la backpropagation ou retropropagation en
français.
Dans l’apprentissage par rétropropagation, on va d’abord chercher à construire un
modèle qui nous servira dans un second temps à faire des prédictions. Comme mentionné plus
haut, l’idée est de déterminer la bonne combinaison Wi/Fi/Ci. Pour ce faire, on définit une
fonction d’erreur qui calcule la différence entre la sortie réelle du réseau et sa sortie attendue
après qu’un cas ait circulé à travers le réseau.
Soit Y et Y’ deux vecteurs respectivement la sortie réelle et la sortie attendue du
réseau. L’erreur de rétropropagation est :
1
E ( Y ,Y ' )= × √ (‖Y −Y '‖) (1.16)
2
A travers cette fonction perte, on cherche à optimiser le modèle (c’est à dire Wi/Ci/Fi)
de façon à minimiser E ( Y, Y’).
Pour que notre algorithme se comporte bien avec les données test qui lui sont
inconnues, on utilise la fonction de régularisation. Et afin d’ajouter les performances sur la
méthode du dropout [CITATION Espace_réservé7 \l 11276 ] qui consiste à « désactiver » des
sorties de neurones aléatoirement (avec une probabilité prédéfinie, par exemple 0.5 pour les
couches cachées et 0.8 pour la couche d'entrée) pendant la phase d'apprentissage ; on utilise la
fonction de régularisation.
Comparés à d'autres algorithmes de classification, les réseaux de neurones convolutifs
utilisent relativement peu de prétraitement sur les données ; ce qui signifie que le réseau est
responsable de faire évoluer tout seul ses propres filtres (apprentissage sans supervision) et de
devenir autonome à la longue. Ce qui n'est pas le cas d'autres algorithmes traditionnels.
L'utilisation d'un poids unique associé aux signaux entrant dans les neurones d'un
même noyau de convolution est un avantage majeur des réseaux convolutifs. Car cette
méthode réduit l'empreinte mémoire, améliore les performances [CITATION Espace_réservé8 \l
11276 ] et permet une invariance du traitement par translation. Un des avantages majeurs du
CNN par rapport au MLP est qu’il considère chaque neurone indépendant et affecte un poids
différent à chaque signal entrant. Le principal étant que le CNN extrait les caractéristiques de
manière automatique en fonction de couches d’apprentissage car extraire les caractéristiques à
la main (soi-même) présente une limite pour une personne qui ne maitrise pas les données et
spécifiquement le domaine du problème.

Conclusion
Dans cette partie, nous avons présenté les techniques de diagnostic ainsi que les
différents travaux réalisés dans le domaine de diagnostic du paludisme grâce à l’intelligence
artificielle et au traitement d’images. Nous constatons que l’extraction de caractéristiques
dans tous ces travaux se fait de manière manuelle et que l’algorithme développé n’est pas
embarqué dans un système. D’où la proposition d’un système autonome en utilisant un outil
de l’intelligence artificielle et embarqué dans une carte électronique. Nous avons aussi
présentés les spécifications théoriques liées aux traitements d’images et aux outils de
l’intelligence artificielle utilisés pour faire un diagnostic automatique du paludisme et justifié
le choix d’une solution théorique. Dans la suite de notre travail, nous allons donner les détails
sur la conception du système intelligent.
CHAPITRE 2 : CONCEPTION DU
SYSTEME INTELLIGENT
Nous avons présenter precedemment les notions importantes qui sont en relation avec
les réseaux de neurones (définition, Architectures….etc), et aussi une vision générale sur les
algorithmes d'apprentissage profond, tout en détaillant la méthode choisie dans notre travail
qui est le CNN en justifiant le choix de ce dernier. Dans ce chapitre, nous présentons les
différentes étapes de conception du système intelligent et les fonctionnalités de ce dernier.

2.1 Méthodologie de conception


La conception est une étape nécessaire et très importante pour partir de l’idée au
produit à concevoir. Le kit que nous souhaitons mettre en œuvre est un système
pluritechnoloqiue complexe. La démarche suivie s’appuie donc sur l’analyse fonctionnelle
que nous présentons ci-dessous.

2.1.1 Analyse fonctionnelle


L’analyse fonctionnelle est une démarche qui consiste à recenser, caractériser,
ordonner, hiérarchiser et valoriser les fonctions d’un système, afin d’identifier les différentes
contraintes fonctionelles et techniques du produit à mettre en œuvre. Elle part de l’analyse du
besoin à la formalisation du fonctionnement du produit et ses différentes relations avec le
milieux exterieur.
2.1.1.1 Analyse fonctionnelle du besoin
Le besoin à satisfaire est celui de faciliter le diagnostic du paludisme en zone urbaine
et en zone rurale.
Figure 2.1 : Analyse fonctionnelle du besoin

2.1.1.2 Analyse fonctionnelle du produit (prototype)


La fonction principale du kit est de diagnostiquer le paludisme.
Les performances que nous en attendons de ce kit sont :
- Précision et fiabilité des résultats,
- Gain en temps lors de l’acquisition des résultats,
- Une forme géométrique permettant qu’il soit portatif,
Nous souhaitons que ce kit soit accessible et utilisable par toute personne qu’elle soit
du domaine médical ou non.
Les différents modes de fonctionnement souhaités du kit sont :
- marche

- arrêt
- mise en veille
Les encombrements du produit sont :
- Limitation du poids : 55 g
- Position imposées des connecteurs selon le coffret de la carte

Unité
centrale de
Ecran
traitement
LCD 5
(carte pouces
Rapsberry Pi
3)

Figure 2.2 : Schéma synoptique du kit


L’unité centrale de traitement contient le système logiciel, grâce aux ports USB (04)
de notre kit, l’utilisateur pourra connecter ses supports contenant les images de frottis
sanguins à analyser. L’écran permet de l’utilisation facile du logiciel.

2.1.2 Définition générale des besoins


Les diagrammes basés sur le modèle UML standard ont été réalisé avec l’outil «
Visual paradigm community Edition ».

2.1.2.1 Modélisation des besoins


a. Identification des acteurs
Un acteur est une catégorie d'utilisateur, il représente un rôle joué par une personne, un
logiciel, un matériel, un automate qui exploite les données du système et qui interagit avec
[ CITATION 38 \l 11276 ]. Dans notre cas l’acteur est toute personne pouvant se servir du
logiciel pour diagnostiquer le frottis sanguin mince coloré au Giemsa.
b. Diagrammes des cas d'utilisation
Un cas d'utilisation modélise un service rendu par le système. Il exprime les
interactions acteurs/système et apporte une valeur ajoutée à l'acteur concerné, un cas
d'utilisation est donc une abstraction d'une partie du comportement du système [ CITATION 38 \l
11276 ]. Le cas d’utilisation de notre système est présenté dans la figure 2.3.

Figure 2.3 : Cas d'utilisation du système


La description du scénario de modélisation complète peut être résumée par le
diagramme de séquence de fonctionnement global du système et de la phase d’entrainement.
(Figure 2.4 et figure 2.5 respectivement)

Figure 2.4 : Diagramme de séquence de fonctionnement global du système

La Figure 2.5 présente le diagramme de séquence du fonctionnement global de


notre système de diagnostic. La séquence commence avec l'utilisateur qui appuie sur le
bouton de démarrage du système. L’utilisateur appuie sur le bouton importer pour prendre
l’image du frottis sanguin à analyser. Ensuite, l’image affichée, il appuie sur
diagnostiquer pour la faire passer dans le réseau de CNN pour analyse. Après analyse, le
résultat est affiché en texte sur l’écran avec un bouton qui signalera le rouge pour la présence
des plasmodies ou le vert dans le cas contraire.
Figure 2.5 : Diagramme de séquence d’entrainement

2.1.2.2 Vue d’ensemble du système intelligent


Le système que nous proposons répond aux limites de la méthode microscopique de
diagnostic du paludisme (temps, cout, ressources matérielles et humaines, …). Il est mobile et
permet de faire le diagnostic en temps réel et de manière automatique. Le système prend tout
d’abord en entrée l’image du frottis sanguin mince coloré au Giemsa prise par la caméra
intégrée d’un smartphone, ensuite il analyse cette image de manière instantanée et enfin
affiche le résultat qui est facilement interprété. Le diagramme de composants (figure 2.6)
décrit l'organisation du système du point de vue des éléments logiciels et matériels utilisés
pour sa conception.
Figure 2.6 : Diagramme de composants du système

Comme le montre le diagramme de composants du système ci-dessus (Figure 2.6), le


système est constitué de trois composants principaux: le système de capture d’image,
l’analyseur (qui est le CNN) et le système d’affichage du résultat. Le système de capture
d’images n’est pas développé par nous mais, il doit être le même que celui qui a été utilisé
pour préparer notre base de données afin que notre analyseur puisse être performant et exact
dans le résultat. Pendant la phase d’analyse, notre système de détection (CNN Détection)
utilise un empilement des couches et un assemblage d’algorithmes de « deep Learning » pour
réaliser le diagnostic.
Dans cette partie, nous avons présenté la modélisation de notre système de diagnostic
en utilisant quelques diagrammes UML. La prochaine partie détaille les étapes de mise sur
pied du cœur de notre système qui est le CNN basé sur un empilement des couches.

2.2 Conception du système


Dans cette partie, nous présentons l’architecture du modèle de deep learning utilisé
pour le diagnostic du paludisme par notre système. Nous présentons l’architecture du réseau
de neurones à convolution « Convolutional Neural Network » utilisé avec les différentes
couches et le rôle de chaque couche.
La topologie de notre système est la suivante :

Figure 2.7 : Topologie du système


L’organigramme du système est présenté à la figure 2.8

Figure 2.8 : Organigramme du système

2.2.1 Module de prétraitement


Le prétraitement des images est une étape importante pour la suite car il permet
d’uniformiser les images à traiter. Il consiste à préparer les données pour qu’elles soient
directement exploitables par l’architecture neuronale (extracteur de feature et classificateur).
Nos données constituées d’images numériques ont des propriétés différentes (différentes
résolutions, des images en RGB avec une luminosité différente, …). Pour une meilleure
confiance dans les résultats, le prétraitement permet de mettre toutes les données dans un
format commun pour que l’analyse produise de meilleurs résultats. De ce fait, un
prétraitement est nécessaire avant l’entrée de ces données dans notre architecture. En effet les
images sont toutes redimensionnées en taille 28*28 pixels et transformées en niveau de gris.
Ces images traitées sont stockées dans un nouveau dossier. Ce traitement d’images aidera
aussi à gagner quelques places sur le disque et faciliter l’extraction des caractéristiques dans
le réseau CNN (voir annexe A pour le code de prétraitement).
Pour importer ces données, nous devons les labéliser afin que la machine puisse
reconnaitre les images des frottis positifs et négatifs.
La normalisation consiste à mettre les données dans un intervalle bien précis. C’est
une étape très importante avant de l’envoyer à l’architecture neuronale. En effet, comme
expliqué dans [ CITATION 39 \l 1036 ], cette pratique permet d’empêcher les images ayant
des pixels larges de dominer les images ayant de pixels petits. Un autre avantage est d’éviter
les difficultés numériques lors des calculs. Par exemple, les grands pixels peuvent causer des
problèmes de calcul au moment de l’activation ou de la mise à jour des paramètres du modèle
(poids et biais). Par conséquent, il est recommandé de mettre toutes les données dans un
intervalle précis ; le nôtre sera l’intervalle [0, 1]. Pour cette normalisation, nous avons
soustrait de chaque pixel la moyenne μ des pixels et divisé le résultat obtenu par l’écart type
σ. Puis, nous avons translaté les données dans l’intervalle [0, 1]. Ceci est fait pour nos
données d’entrainement et aussi de test.
N
1
μ= ∑X (2.1)
N 1 i
N
σ=
√ 1

N −1 i=1
( μ−X i )
2
(2.2)

X i−μ
X 'i = (2.3)
σ
Où X’i est l’image normalisée et Xi l’image à normaliser
Après prétraitement, les données sont prêtes pour entrer dans notre architecture
neuronale.

2.2.2 Module du CNN


Dans notre architecture, le module d’extraction des caractéristiques et de classification
est constitué de réseau de neurones à convolution constitué de plusieurs couches qui seront
examiné ci-dessous :
Classification
Extraction des features

Full Connected
Full Connected
Convolution Dropout
Max pooling Convolution Max pooling
5x5
2x2 5x5 2x2
Figure 2.9 : Architecture du modèle proposé

Après l’architecture du modèle proposé, nous proposons un schéma bloc du prototype


de notre système intelligent (figure 2.9)
Après avoir ainsi expliqué la conception du système, il ne reste plus qu’à passer à sa
réalisation. C’est l’objet du chapitre suivant.

Conclusion
Dans ce chapitre, il était question de ressortir la méthodologie de conception du
système intelligent de diagnostic du paludisme. De ce fait, il en ressort que ce dernier est
constitué de deux modules principaux à savoir celui de prétraitement dont la fonction est de
prétraiter, d’importer et de normaliser nos données provenant du jeu de données matérialisées
ici par l’image du frottis sanguin d’une part et d’autre part du module de CNN (Extraction des
caractéristiques et classification), qui comprend trois sous modules classés en phase dont celle
d’entrainement qui consiste à entrainer notre modèle afin de mieux affiner sa précision lors de
la comparaison des images de frottis sanguins sains et de celles infectées. La phase de
validation et de test quant à elle, a pour fonction d’approuver et de tester une fois de plus les
informations issues de la phase de traitement ; et enfin vient la phase de prédiction, dont la
fonction consiste à donner la tendance globale des résultats en sortie au vu des données
analysées tout au long des différentes phases traversées par l’image de notre frottis sanguin
dans le système et donner ainsi le résultat de l’analyse du frottis de notre patient en sortie.
CHAPITRE 3 : REALISATION,
IMPLEMENTATION ET RESULTATS
Dans ce chapitre, nous présentons les outils de développement logiciel et matériel
utilisés pour réaliser le système de diagnostic du paludisme, l’architecture et l’interface du
système et enfin les résultats et leurs interprétations.

3.1 Présentation des outils utilisés


3.1.1 Langage et librairies utilisés
 Python
Python est un langage de programmation de haut niveau interprété (c’est-à-dire qu’il
n’y a pas d'étape de compilation) et orienté objet avec une sémantique dynamique. Il est très
sollicité par une large communauté de développeurs et de programmeurs. Python est un
langage simple, facile à apprendre et permet une bonne réduction du cout de la maintenance
des codes. Les bibliothèques (packages) python encouragent la modularité et la réutilisabilité
des codes. Python et ses bibliothèques sont disponibles (en source ou en binaires) sans charge
pour la majorité des plateformes et peuvent être redistribués gratuitement. Le système de
diagnostic que nous proposons a été réalisé sous python version 3.6.1 et l’interface graphique
a été réalisée en utilisant la librairie PyQt5 de python.
 Tensorflow
TensorFlow est un framework de programmation pour le calcul numérique qui a été
rendu Open Source par l’équipe Google en Novembre 2015 [ CITATION Goo17 \l 1036 ]. Depuis
sa release, TensorFlow n’a cessé de gagner en popularité, pour devenir très rapidement l’un
de framework les plus utilisés pour les réseaux de neurones artificiels qui sont la base du
Deep Learning. Son nom est notamment inspiré du fait que les opérations courantes sur des
réseaux de neurones sont principalement faites via des tables de données
multidimensionnelles, appelées Tenseurs (en anglais Tensor). Un Tensor à deux dimensions
est l’équivalent d’une matrice. Aujourd’hui, les principaux produits de Google sont basés sur
TensorFlow: Gmail, Google Photos, Reconnaissance de voix.
 Scikit-Learn
Scikit-learn est une bibliothèque libre de Python dédiée à l'apprentissage automatique.
Elle est développée par de nombreux contributeurs notamment dans le monde académique par
des instituts français d'enseignement supérieur et de recherche comme Inria et Télécom Paris
Tech. Elle comprend notamment des fonctions pour estimer des forêts aléatoires, des
régressions logistiques, des algorithmes de classification, et les machines à vecteurs de
support. Cette bibliothèque s’harmonise avec d’autres bibliothèques libres de Python
notamment NumPy et SciPy et ainsi que Matplotlib, PIL, …

3.1.2 Le Hardware
Le Deep Learning est un domaine avec des exigences en calculs intenses et la
disponibilité des ressources (surtout en GPU) dédiés à cette tache vont fondamentalement
influencer sur l’expérience de l’utilisateur car sans ses ressources, il faudra trop de temps pour
apprendre de ses erreurs ce qui peut être décourageant.
Notre système a été développé sur une machine qui offre des performances
acceptables dont voici les caractéristiques : CPU Intel Core i7- CPU (1.73 GHz), GPU
NVIDIA GEFORCE 425 M et RAM 8GB. Et il est déployé sur une carte Raspberry Pi 3
modèle B.
Raspberry Pi 3 est une machine cible (host) qui peut exécuter un système
d’exploitation réel sous Linux appelé Raspbian. Raspbian est un système d'exploitation libre
basé sur Debian et optimisé pour la carte Raspberry Pi. Cette dernière est 40 fois plus rapide
en ce qui concerne la vitesse d’horloge, possède 128.000 fois plus de RAM et fonctionne sous
une tension de 5 volts[ CITATION 48 \l 1036 ]. Ses caractéristiques sont : RAM 1 Go, processeur
Quad-core.

3.2 Implémentation du modèle CNN


3.2.1 Jeu de données
3.2.1.1 Présentation du jeu de données
Les données utilisées proviennent du projet de recherche de Malaria Screener NIH US
(National Library of Medecine, Communications Engineering Branch, Malaria Screener
project). Ce jeu est un ensemble d’échantillons de frottis sanguins minces colorés au Giemsa
provenant de 150 patients infectés par le Plasmodium falciparum et 50 patients en bonne santé
recueillis et photographiés à l'hôpital Chittagong Medical College, au Bangladesh. La caméra
intégrée au smartphone a acquis des images de diapositives pour chaque champ de vision
microscopique. Les images ont été annotées manuellement par un expert en lecture de
diapositives de l'unité de recherche Mahidol-Oxford Tropical Medicine à Bangkok, en
Thaïlande. Les images et les annotations anonymes sont archivées à la NLM (National
Library of Medecine). L'ensemble de données contient 27 558 images de cellules au total avec
des instances égales de cellules parasitées et non infectées. La figure suivante, illustre une de
ces images.

Figure 3.1 : Exemple d'images utilisés

3.2.1.2 Répartition de ces données


Ces données sont réparties en deux classes (classe positive et classe négative) dont
chacune de classe a un ensemble de 12 398 images pour l’apprentissage et 1 377 images
chacune pour le test et la validation (tableau 3.1). Les labels sont attribués comme suit à ces
deux classes : 0 pour les images non parasitées et 1 pour les images parasitées.
Tableau 3.1 : Répartition des données

Ensemble d’entrainement Ensemble de test


Images parasitées 12 398 1 377
Images non infectées 12 398 1 377
Total 24 796 2 754

Nous notons que l’ensemble de validation est égal à l’ensemble de test.

3.2.2 Architecture du CNN


Le modèle que nous présentons dans la figure 3.2 est composé de deux couches de
convolution, deux couches de maxpooling et deux couches de fully connected.
L’image en entrée est de taille 28*28, l’image passe d’abord à la première couche de
convolution. Cette couche est composée de 32 filtres de taille 5*5. Ensuite, nous appliquons
un maxpooling de taille 2*2 pour réduire la quantité de paramètres et de calcul. Chacune de
nos couches de convolution est suivie d’une fonction d’activation ReLU. Cette fonction force
les neurones à retourner des valeurs positives, après cette convolution 32 features maps de
taille 5*5 seront créés.
Les 32 features maps obtenus sont donnés en entrée de la deuxième couche de
convolution qui est composée de 64 filtres. La fonction d’activation ReLU est toujours
appliquée sur la couche de convolution, ensuite on applique un maxpooling de taille 2*2 pour
réduire la taille de l’image ainsi que la quantité de paramètres et de calcul. À la sortie de cette
couche, nous aurons 64 feature maps de taille 2*2.
Nous avons choisi la fonction mathématique ReLU comme fonction d’activation pour
améliorer l'efficacité du traitement. Cette fonction, appelée aussi « fonction d'activation non
saturante », augmente les propriétés non linéaires de la fonction de décision et de l'ensemble du
réseau sans affecter les zones d’analyse de la couche de convolution.
Après ces quatre couches de convolution et de maxpooling, nous utilisons une couche
fully connected qui est un réseau de neurones composé de 1 024 neurones où la fonction
d’activation utilisée est la fonction ReLU.
Après ces couches, nous avons utilisé un dropout comme technique de régularisation.
En apprentissage automatique, cette technique est un procédé visant à améliorer les
performances de généralisation d'un algorithme d'apprentissage, c’est à dire diminuer son
erreur sur les échantillons de test. Un tel procédé a pour but d'éviter le sur-apprentissage qui
résulte d'une adaptation trop forte du modèle aux données d'entraînement. Cette méthode du
dropout consiste à « désactiver » des sorties de neurones aléatoirement (avec une probabilité
prédéfinie, 0.5 pour notre cas) pendant la phase d'apprentissage. Cela revient à simuler un
ensemble de modèles différents et à les apprendre conjointement (bien qu'aucun ne soit appris
de bout en bout). Chaque neurone étant possiblement inactif pendant une itération
d'apprentissage, cela force chaque unité à « bien apprendre » indépendamment des autres et
évite ainsi la co-adaptation et donc un sur apprentissage.
Nous avons la dernière couche fully connected qui est une activation linaire appelé
dense.
Pour la prédiction, la fonction « Softmax » est utilisée pour calculer la distribution de
probabilité des 02 classes (nombre de classe du jeu de données).
exp ⁡(x )
Softmax ( x )i= (3.1)
∑ exp ⁡( x j)
j
En résumé, la phase d'extraction des caractéristiques permet d'obtenir des informations
qui permettent au mieux de différencier les deux classes et la phase de classification qui suit
celle d'extraction permet de réaliser le diagnostic.

Figure 3.2 : Configuration de l'architecture du CNN

3.2.3 Apprentissage du modèle


L’apprentissage est défini ici comme un problème d’optimisation avec pour but de
minimiser la fonction objective qui est l’erreur entre la sortie du modèle (réseau) et la sortie
désirée. Les CNN fonctionnent en propagation avant et en retropropagation.
Le lancement de l’apprentissage redimensionne toutes les images à la même taille
(figure 3.3) dans un dossier spécifique. L’apprentissage crée et enregistre un fichier model-
epoch-30.cpkt à chaque fois. Ce fichier sauvegarde le modèle le plus performant.
Figure 3.3 : Image prétraitée

Les algorithmes d’apprentissage et de test sont :


//PHASE D’ APPRENTISSAGE//
Début
Initialisation des poids à des valeurs aléatoire
Tant que l’erreur totale est supérieure à Seuil ou le nombre d’itérations est inférieur à
max_iter Faire
Lecture des données d’apprentissage
Pour chaque donnée d’apprentissage
Faire
Activation de l’entrée à l’exemple
Propagation de l’entrée vers l’avant
Erreur= calcul de l’erreur
Propagation de l’erreur vers l’arrière
Ajustement des poids
Mise à jour de l’erreur totale
Fin Pour
Fin Tant que
Retourner le modèle.
Fin
//PHASE DE TEST //
Début
Chargement modèle
Lecture de données de test
Activation de l’entrée à l’exemple
Propagation de l’entrée vers l’avant du modèle
Vérification du résultat avec la sortie désirée
Fin
La fonction d’erreur est l’entropie croisée :
N
1
H ( p , q )= ∑ H ( pn , qn ) (3.2)
N n=1
Avec p la sortie désirée et q la sortie du réseau.
L’algorithme d’optimisation de la descente du gradient utilisée est AdamOptimizer
(ADAM pour Adaptative Moment) [ CITATION 43 \l 1036 ]. C’est une méthode qui calcule un
taux d’apprentissage adaptatif pour chaque paramètre. En plus de stocker une moyenne
décroissante exponentielle des précédents carrés des gradients (v t équation 3.4), ADAM
conserve aussi une moyenne décroissante exponentielle des précédents gradients (m t équation
3.3).
mt =β1 mt−1 + ( 1−β 1 ) gt (3.3)
2
v t=β 2 v t−1 + ( 1−β2 ) gt (3.4)
Où mt et vt sont respectivement des estimations d’ordre 1 (la moyenne) et d’ordre 2 (la
variance) de gradient. Comme mt et vt sont initialisés comme des vecteurs de 0, les auteurs
ont observé qu’ils sont biaisés vers zéro surtout durant les premières étapes, et surtout lorsque
le coefficient de décroissance est petit (β1 et β2 proches de 1). Les auteurs proposent des
valeurs par défaut de 0.9 pour β1, 0.999 pour β2.
Les paramètres d’apprentissage sont déterminés après plusieurs expérimentations
réalisées sur le modèle. Les valeurs associées à ces paramètres sont présentés dans le tableau
3.2
Tableau 3.2 : Paramètres et valeurs d’apprentissage

Paramètres Valeurs
Taux d’apprentissage 1e−4

Taille du batch 64
Fonction d’erreur Entropie croisée
ADAMoptimizer Par défaut
Nombre d’itérations 100
Durée d’apprentissage 5 Heures

3.3 Réalisation, Simulation et Résultats


Nous présentons les images du prototype réalisé dans les figures 3.4 et 3.5 suivantes.
Figure 3.4 : Image d'ensemble du prototype

Figure 3.5 : Image du prototype au démarrage

Nous avons fait une interface graphique (figure 3.6) afin de pouvoir visualiser le
résultat du diagnostic facilement sans être obligé de passer à chaque fois par les lignes de
codes et faciliter l’utilisation par une tpersonne tierce qui n’est pas du domaine.
Figure 3.6: Interface graphique

Cette interface fonctionne comme suit :


- Cliquer sur le bouton "Importer image" (figure 3.7) pour choisir l’image du frottis
sanguin à analyser à partir d'un emplacement local.

Figure 3.7 : Importer l’image d’un frottis


Cliquer sur ouvrir ou tapez sur la touche entrée du clavier pour afficher l’image (figure 3.8)

Figure 3.8 : Image importée

- Cliquer sur le bouton "Diagnostiquer" (figure 3.9.1 et 3.9.2) pour analyser le frottis et


avoir le résultat instantanément 

Figure 3.9.1 : résultat pour un frottis sanguin positif


L’image 3.9.1 illustre un résultat positif. Ceci se fait à partir du texte suivi d’un bouton
rouge pour montrer que ce résultat est positif dans le but de faciliter l’interprétation de ce
dernier par une personne qui n’est pas du corps médical ou analphabète. De même que la
figure 3.9.2 mais elle illustre un résultat négatif.

Figure 3.9.2 : résultat pour un frottis sanguin négatif

3.4 Interprétations des résultats et Discussions


Afin de montrer les résultats obtenus, nous présentons les métriques utilisées pour
évaluer un modèle de deep learning en général et de CNN en particulier.
On note que le développement d’un système de diagnostic se mesure en fonction du
tableau suivant  qui nous montre les résultats possibles d’un test :
Tableau 3.3: résultats possibles d'un test de diagnostic

Malade Non malade


Test positif VP FP
Test négatif FN VN

 VP (vrais positifs) représente le nombre d'images parasitées avec un test positif,


 FP (faux positifs) représente le nombre d'images non parasitées avec un test positif,
 FN (faux négatifs) représente le nombre d'images parasitées avec un test négatif,
 VN (vrais négatifs) représente le nombre d'images non parasitées avec un test négatif.

 Le pourcentage de classification correcte (Test Accuracy en anglais)

Le pourcentage de classification correcte correspond aux nombres d’images


correctement classées sur le nombre total d’images classés. Il permet d’évaluer l’efficacité du
modèle de classification.
VP+VN
Test Accuracy= ×100 (3.5)
VP+VN + FP+ PN
 Le rappel

Le rappel est défini par le nombre d’images correctement classifiées en tant que malades
sur le nombre total d’images malades initial. Il est aussi le pourcentage de bonne classification
pour une classe précise. 
VP
Rappel= × 100 (3.6)
VP+ FN
 La précision

La précision est le nombre d’images correctement classifiées en tant que malades par
rapport au nombre total de d’images classifiées en tant que malades.

VP
Précision= ×100 (3.7)
VP+ FP

Une mesure qui combine la précision et le rappel est la moyenne harmonique, nommée
F-mesure (soit F-measure en anglais) ou F-score :
( Précision × Rappel )
F−score=2 × (3.8)
( Précision+ Rappel)

Les critères d’évaluation d’un test de diagnostic en médecine sont la sensibilité et la


spécificité.

La sensibilité d’un test de diagnostic est la capacité à détecter tous les malades (avoir
le moins de faux négatifs). C’est la probabilité que le test soit positif si les parasites du
paludisme sont présents. Ce qui correspond au rappel.
Et la spécificité est la capacité à ne détecter que les malades (avoir le moins de faux
positifs). C’est la probabilité d’obtenir un test positif chez les malades. Elle correspond à la
précision.

Les tableaux ci-après nous présentent ces résultats pour l’ensemble d’entrainement et
pour celui de test respectivement tableaux 3.4 et 3.5

Tableau 3.4: Tableau des résultats obtenus sur l’ensemble d’entrainement

Rappel Précision F-score Nombre d’images total


Classe Positive 100% 100% 100% 12 398
Classe Négative 100% 100% 100% 12 398
Moyenne Totale 100% 100% 100% 24 796

Tableau 3.5: Tableau des résultats obtenus sur l’ensemble de test

Rappel Précision F-score Nombre d’images total


Classe Positive 88% 89% 89% 1 377
Classe Négative 90% 89% 89% 1 377
Moyenne Totale 89% 89% 89% 2 754

Le test accuracy obtenu est : 89%


Les matrices de confusion ci-après (figures 3.10 et 3.11) nous présentent le nombre de
vrais positifs, faux positifs, vrais négatifs et de faux négatifs obtenus au cours de
l’apprentissage. Elle donne pour chaque classe, la répartition des résultats de classification sur
l’autre classe. La diagonale de ces matrices de confusion donne pour chaque classe le nombre
d’images correctement classées.

Figure 3.10 : Matrice de confusion de données d’entrainement


Figure 3.11 : Matrice de confusion de données de test

La précision de l’apprentissage et de la validation augmente avec le nombre


d’itérations (epochs) et le nombre des données. Ceci montre qu’à chaque itération le modèle
apprend plus d’informations et avec une augmentation des données, il peut devenir autonome
et plus intelligent. Pour augmenter la précision de notre système, on aura besoin de faire
apprendre notre modèle encore plus avec une quantité de données très importantes et par
conséquent on doit augmenter le nombre d’itérations. De même que l’erreur d’apprentissage
et de validation diminue avec le nombre d’itérations.
Le modèle s’adapte et devient plus performant avec un volume de données élevées.
Nous n’avons pas atteint une meilleure précision à cause du manque de données.

3.5 Ressources Nécessaires à la Réalisation de ce


Projet
Pour estimer le cout de notre projet, nous utilisons la méthode de COnstructive COst
Model (en abrégé COCOMO). C’est le modèle de construction des couts proposé par Barry
Boehm en 1981. Les formules de calcul sont :
 Charge en mois/Homme = a (Kisl) b
Où Kisl = kilo instruction source livrée (lignes de programme source testées)
 Durée normale en mois = c (charge en mois/Homme) d
Les paramètres a, b, c et d dépendent de la catégorie du projet (tableau 4.6). Soit l la taille du
logiciel.
- Projet simple si l < 50 000 Kisl, spécifications stables, petite équipe.
- Projet moyen logiciel comporte entre 50 000 Kisl et 300 000 Kisl (spécifications
stables, petite équipe).
- Projet complexe si l >300 000 Kisl, grande équipe.

Tableau 3.6 : Valeurs de paramètres en fonction du type de projet

Type de Charge en mois par homme Durée en mois


projet
Simple C = 3,2 (Kisl) 1,05 D = 2 ,5(C) 0,38
Moyen C = 3 (Kisl) 1,12 D = 2 ,5(C) 0,35
Complexe C= 2,8 (Kisl) 1,2 D = 2 ,5(C) 0,32

Notre projet correspond à un projet simple car nous avons 866 lignes de codes. Ainsi,
pour le calcul de la charge et du délai, nous avons les paramètres : a=3.2, b=1.05, c= 2.5 et d=
0.38 qui conduisent aux calculs suivants :
C = 3,2 (0,866)1,05 = 2,75 M/h
D = 2 ,5(2,75)0,38 = 3,67 mois
Ces unités peuvent selon la SGR (Standish Group Report), avoir un ordre de grandeur.
Soit : 1 H/An = 1350h et 1h = 6500 FCFA
Ainsi, notre logiciel correspond à une charge de 2,75 M/h soit 0,22 A/h, ce qui nous
donne une durée de 309,375 heures. On obtient donc :
Cout du logiciel = 309,375 × 6500 = 2 010 938 F CFA

Le tableau 3.9 donne le récapitulatif du cout estimatif du projet


Tableau 3.7 : Cout estimatif du projet

Désignation Prix
Logiciel 2 011 000
Prototype 90 000
Ordinateur portable 500 000
Clé internet 15 000
Connexion internet 180 000
Total 2 796 000 FCFA
Conclusion
Dans ce chapitre, nous avons présenté les environnements de développement logiciels
et matériels, les techniques et outils utilisés ainsi que la réalisation de notre système et les
résultats obtenus. Dans un premier temps, nous avons réalisé le système logiciel, et dans un
second temps, nous avons monté un dispositif électronique dans lequel le système logiciel y
est intégré. Les résultats obtenus montrent que notre système est performant malgré les
difficultés rencontrées.

CONCLUSION GENERALE ET
PERSPECTIVES
Afin de s’acclimater aux changements perpétuels et évolutifs de la technologie et des
exigences que cela comporte en termes de précision et de performance, ce projet de fin
d'étude avait pour but la conception et la réalisation d’un outil technologique de diagnostic du
paludisme.
Nous avons donc développé un système intelligent, capable de prendre en entrée les
images de frottis sanguin pour les traiter ; dans le but de fournir le résultat du diagnostic en
sortie sur un écran.
Ayant fait usage des différentes outils de l’IA pour effectuer notre travail, nous avons
ainsi choisi la méthode des réseaux de neurones convolutionnels, qui a pour fonction
spécifique d’extraire automatiquement les caractéristiques des images de frottis sanguins et de
les classifier. Cette méthode a révélé lors de l’entrainement de notre algorithme, la capacité
d’être dynamique ; car sa précision s’affinait au fur et à mesure que l’on augmentait le volume
des données en entrée ; ce qui nous amènerait à la conclusion selon laquelle notre système
pourrait être intelligent et autonome.
Par ailleurs, la moindre des choses à dire est que ce projet de fin d'études nous a été
très bénéfique tant au niveau technique qu'aux niveaux professionnel et relationnel. Nous
avons eu aussi l'occasion de côtoyer une technologie qui est en train de révolutionner le
domaine des systèmes de diagnostic, d'enrichir notre base de connaissance sur la
programmation orienté objet en découvrant le langage python, et d'approfondir nos
compétences en tant qu'ingénieur en télécommunications et Technologie de l’Information et
de la communication.
En se basant sur la problématique de notre mémoire et des résultats obtenus, nous
pouvons ainsi inscrire notre travail dans le registre de projets entrepreneurials dans le but d’en
faire un créateur d’emplois grâce aux perspectives d’améliorations suivantes :
 L’intégration du module prise de sang préalable en amont du module diagnostic grâce
à un stylet équipé d’une aiguille piqueuse.
 De la mise sur pied d’un module d’envoi à distance du résultat du diagnostic au
médecin pour interprétation et proposition d’un traitement en retour au patient.
 Dans le souci d’accroitre la précision de notre système au vu de la variété d’espèces
responsable du paludisme selon les régions, nous projetons d’intégrer les
fonctionnalités de comptage et de spécification en termes de pourcentage du type
d’espèces à responsabilité dominante de cette maladie dans une région quelconque.
 Toujours dans l’optique d’affiner la précision de notre système, nous intégrerons une
fonctionnalité de reconnaissance des formes de différentes espèces du parasite.
 De la possibilité d’améliorer le package du point de vue dimensionnel et esthétique de
notre kit, afin de le rendre le plus portatif, attractif et ergonomique possible.
Nous pouvons répondre en se basant sur le travail effectué en amont qu’il serait
possible de faire confiance à un système intelligent pour le diagnostic d’un patient
potentiellement porteur du paludisme à condition d’intégrer la composante humaine
représentée ici par un médecin, car l’homme reste et demeure le système intelligent le plus
fiable qui existe.

REFERENCES BIBLIOGRAPHIQUES

[1] T. Afrique, TV5 Afrique, [En ligne]. Available: https://information.tv5monde.com.


[Accès le 20 juillet 2018].
[2] Entreprise auteur : OMS,, «10 facts on malaria,» [En ligne]. Available:
http://www.who.int/features/factfiles/malaria/en/. [Accès le 20 juillet 2018].
[3] «Afrique Actu 237,» 18 avril 2018. [En ligne]. Available:
https://www.camerounweb.com. [Accès le 24 juillet 2018].
[4] World Health Organization , Geneva.
[5] C. SAYANG, «Intérêt de l’utilisation des tests de diagnostic rapide du paludisme sur le
coût et l’efficacité de la prise en charge des patients fébriles à Yaoundé, Cameroun,»
Yaoundé,, 1990.
[6] World Health Organization, Geneva.
[7] World Health Organization), " Malaria rapid diagnostic tests: making rapid diagnosis
work," Western Pacific Regional Office, Manila, 2005.
[8] [En ligne]. Available: http://www.docteurclic.com. [Accès le 20 septembre 2018].
[9] K.Lewandrowski, «Point-of-care testing : An overview and a look to the future,» chez
Circa, United States, 2009 .
[10] Marx A, «Meta-analysis : Accuracy of rapid tests for malaria in travelers returning from
endemic areas,» 2005.
[11] Hopkins H, «Blood transfer devices for malaria rapid diagnostic tests : Evaluation of
accuracy, safety and ease of use,» Malar J, 2011.
[12] OMS, «WHO,» [En ligne]. Available:
http://www.who.int/malaria/areas/diagnosis/microscopy/fr.
[13] M. Abdelrahman, «Detection and Classification of malaria in thin blood slide images,»
chez International conference on communication,control,computing and electronics
Engineering, Kharthoum, 2017.
[14] Neetu Ahirwar, "Advanced Image Analysis Based System For Automatic Detection And
Classification Of Malarial Parasite In Blood Images," in International Journal of
Information,Technology and knowledge management, 2012.
[15] F. Boray Tek, " Parasite detection and identification for automated thin blood film
malaria diagnosis," 2010.
[16] Muhammad Imran Razzak, "Automatic Detection and Classification of Malarial Parasite
institution: King Saud bi Abdulaziz University for Health Sciences," in International
journal of biometrics and bioinformatics, Riyadh 11426, 2015.
[17] D. Chan, " Leukocyte nucleus segmentation and nucleus lobe counting.," in BMC
Bioinformatics, 2010.
[18] D. Ruberto, " Analysis of infected blood cell images using morphological operators.," in
Image and Computer Vision 20 , 2012.
[19] R. Sriram, "Computer aided malarial diagnosis for JSB stained white light images using
neural networks," in Internation journal of advanced Research in computers science and
Software Engineering 3, 2013.
[20] K. Das, " Machine learning approach for automated screening of malaria parasite using
light microscopic images," in Micron 45, 2013.
[21] Sabino, «A texture approach to leukocyte recognition.nom de la conference,» chez Real-
Time Imaging 10, , 2004.
[22] M. Memeu, "Detection of plasmodium parasites from images of thin blood smears," in
Open journal of Clinical Diagnostics 3,183, 2013.
[23] P. Suradkar, "Detection of malarial parasite in blood using image processing.," in
International journal of Engineering and Innovative Technology 2, 2013.
[24] Neetu Ahirawar, "advanced image analysis based system for automatic detection and
classification of malarial parasite in blood image," Raipur, India,, 2012, .
[25] Soumya Das, «automated identification and classification of malarial parasites in thin
blood smear images,» chez International Research Journal of Engineering and
Technology (IRJET) , 2018, .
[26] Gloria Diaz, "A semi-automatic method for quantification and classification of
erythrocytes infected with malaria parasites in microscopic images.," in Elsevier-
Journal of Biomedical Informatics, 2009.
[27] Purnima Pandit, «Artificial Neural Networks for Detection of Malaria in RBCs.».
[28] Meng-Hsiun Tsai, «Blood Smear Image Based Malaria Parasite and Infected-
Erythrocyte Detection and Segmentation,» transactional processing systems.J Med Syst,
p. 39:118, 2015.
[29] Miss. Kshipra C. Charpe, «Automated Malaria Parasite and there Stage Detection in
Microscopic Blood Images,» IEEE Sponsored 9th International Conference on
Intelligent Systems and Control (ISCO), 2015.
[30] Hanung Adi Nugroho, «Feature Extraction and Classification for Detection Malaria
Parasites in Thin Blood Smear,» IEEE- 2nd International Conference on Information
Technology, Computer and Electrical Engineering (ICITACEE), October 2015.
[31] J. Somasekar, «Segmentation of erythrocytes infected with malaria Parasites for the
Diagnosis using microscopicimaging,» Elsevier - Computers and Electrical
Engineering, pp. 336-51, May 2015.
[32] Suman Kunwar, «Malaria Detection Using Image Processing and Machine».
[33] A. Joachim, Probabilistic analysis of the rocchio algorithm with TFIDF for text
categorization., Nashville,Etas Unis, 1997.
[34] Claude, Les_reseaux_de_neurones_artificiels.pdf, Web-Fac-Claude.
[35] M. SENOUCI, titre : Réseaux de neurones : théorie et pratique.
[36] P. BUYSSENS, «Fusion des differents modes e capture pour la reconnaissance du
visage appliquée aux e-transactions,» CAEN, 2011.
[37] F. ROSEMBLAT, «The perceptron : A perceiving and recognizing automation,», 1957.
[38] G. HINTON, «Learning representations by back-propagating errors,», 1986, pp. 533–
536, .
[39] T. HUBEL, «Receptive fields, binocular interaction and functional architecture in the
cat’s visual cortex,», The journal of Physiology, 1962.
[40] A. Deshpande, «A -Beginner-Guide-To-Understanding-Convolutional-Neural-
Networks,» 2016.
[41] J. Gage, «convolutional-neural-nets-in-pytorch».
[42] Nitish Srivastava, « Dropout: A Simple Way to Prevent Neural Networks from
overfitting »,Journal of Machine Learning Research, Vols. 15,no1, pp. 1929-1958,
2014.
[43] Y. LeCun, L’apprentissage prédictif est le grand défi scientifique de l’intelligence
artificielle.
[44] P. ROQUES & F. VALEE, titre : "UML en action", Editions Eyrolles, éd., année :
2000., p. 1.
[45] J. C. QUINLAN, «Programs for machine learning.»Morgan Kaufmann Publishers,, San
Fransisco, 1993.
[46] Google, «Tensorflow,» [En ligne]. Available: https://www.tensorflow.org/. [Accès le 01
Septembre 2017].
[47] R. Maker. [En ligne]. Available: https://www.robot-maker.com/shop/blog/10_Arduino-
Raspberry-Pi.html.
[48] D. Kingma and J. Ba, «“Adam : A method for stochastic optimization,”,» 2014.
[49] World Health Organization, "new perspectives: malaria diagnosis report of a joint,"
Geneva, 1999.
[50] 9. Typ Hanung Adi Nugroho, « Feature extraction and classification for detection
malaria parasites in thin blood smear,» chez 2nd International Conference on
Information, Semarang,Indonesia, 2015.