Académique Documents
Professionnel Documents
Culture Documents
EPIGRAPHE
DEDICACE
REMERCIEMENTS
Au seuil de notre deuxième cycle, nous n’avons pas le droit d’oublier les obstacles qui
se sont dressés sur notre chemin de parcours, Ainsi nous est-il impérieux d’adresser d’abord
nos vifs remerciements au Seigneur Dieu de toute bonté et toute grâce, Lui qui nous a élevé à
ce rang des partisans de la caste des intellectuels.
Nous voudrions en second lieu, remercier sincèrement le professeur Docteur Selain
KASEREKA KABUNGA à qui nous conférons un hommage déférent pour avoir accepté, en
dépit de ses multiples charges, d’assurer la direction de ce travail.
Nous ne resterons pas indifférentes à manifester la profonde reconnaissance à l’Assistant
Theodore KABANGU NKASHAMA pour avoir servi de rapporteur de ce travail.
Ensuite nos remerciements les meilleurs s’adressent :
A nos très cher parents François TSHITUNGU KABALA et Marie Jeanne NGALULA
pour tous les sacrifices fournis.
A nos frères et sœurs Thaddée TSHIBAMBA, Albert TSHIBALANGA, Julienne
KABEYA, Florent KADIMA, Franck TSHITUNGU, Nathalie LUSAMBA, Michel
BALEBELA, Anne Marie KABENA, ainsi qu’à l’Abbé Omer NTUMBA pour leur amour,
conseil, soutient, prière tout au long de ce deuxième cycle.
Enfin, que tous ceux qui nous ont aidés et encouragés de près ou de loin dans la
concrétisation de ce travail, trouvent ici notre gratitude et nos sincères remerciements.
DL deep Learning
FN Faux négatif
FP Faux positif
IA Intelligence artificielle
ML machine Learning
N Négatif
P Positif
RESUME
L’imagerie par résonance magnétique (IRM) est, aujourd’hui, un outil puissant
permettant l’observation in vivo de l’anatomie cérébrale .Utilisée en routine clinique, la
multiplicité des pondérations d’acquisition permet aux médecins d’accéder à une information
riche, abondante, et donc particulièrement adaptée au diagnostic de tumeur cérébrales. La prise
de décision dans le domaine médical est très importante, notamment quand il s’agit de la
radiographie.
L’objectif de notre travail est de réaliser (concevoir et valider) un système automatique
de prise de décision (aide au diagnostic) médicale à base de réseau convolutionnel (CNN) pour
la reconnaissance des lésions (tumeurs) dans les images à résonances magnétique (IRM)
cérébrales.
Les images utilisées sont des images saines (normale) et pathologiques (qui présentent
des anomalies : tumeurs). Ces images une fois présentées à notre système de reconnaissance
sont classifiées soit en classe normale ou en classe pathologique (tumorale).
Mots clés : Reconnaissance de Formes (RdF), Réseau de Neurones convolutionnel (CNN),
IRM cérébral, aide au diagnostic.
P a g e | viii
ASBTRACT
Magnetic resonance imaging (MRI) is, today, a powerful tool allowing the in vivo
observation of cerebral anatomy. Used in clinical routine, the multiplicity of acquisition
weighting allows doctors to access a rich, abundant information, and therefore particulary
suitable for the diagnosis of brain tumours. Decision-marking in the medical fiel dis very
important,especially when it comes to radiography.
The objective of our work is to realize (design and validate) an automatic decision-
marking system (diagnostic aid) based on convolutional network (CNN) for teh recognition of
lesions (tumors) in magnetic resonance image (MRI) brain.
The images used are heathly (normal) and pathological images (which present
anomalies : tumours). These image, once pressented to our recognition système, are classified
either in normal class or in pathologie (tumor) class.
Keywords : pattern recognition (Rdf), convolutional Neural (CNN), cerebral MRI, diagnostic
aid.
P a g e | ix
INTRODUCTION GENERALE
L'imagerie par résonance magnétique est l'une des techniques d'observation les plus
récentes. Basée sur le phénomène de résonance magnétique nucléaire, elle permet de sonder en
profondeur un sujet donné tout en étant non invasive et non douloureuse. La qualité de ces
images ainsi que les possibilités offertes en termes de vues, de modalités, de rendu, ou encore
de contraste, ont fait d'elle un outil incontournable au sein du milieu médical. Sa précision et sa
sensibilité se révèlent également être des atouts majeurs dans la traque des pathologies
cérébrales.
La reconnaissance des formes est une discipline qui permet l’étude des systèmes
automatiques ou semi-automatiques capables de reconnaitre les formes qu’on leur présente.
Les mots reconnaissance et formes sont devenus un vocabulaire courant de tous les jours.
Cette discipline n’a pas besoin de définition formelle dans le cas général. Dans une tentative
d’imiter la nature, la reconnaissance des formes est le domaine qui permet aux machines
d’hériter un peu des facultés de l’être humain. Cependant, ce dernier était et restera le système
de reconnaissance de formes le plus parfait qui existe. En effet, la diversité des tâches de
reconnaissance que nous pouvons accomplir sur des formes à grande variabilité est toujours
impressionnante. Effectivement, nous distinguons, sans effort, toutes les formes visuelles et
sonores.
Les progrès scientifiques et techniques nous ont permis d’essayer d’imiter certaines des
facultés des humains à l’aide des machines. L’idée principale n’étant pas de remplacer
complètement l’homme par une machine, mais de confier à une machine certains travaux de
reconnaissance simples effectués par l’homme.
Aujourd’hui, on se sert de la reconnaissance des formes en imagerie médicale pour
permettre l’observation de la zone cérébrale. Elle donne aux machines la capacité de recueillir
des informations différentes sur les tissus cérébraux et facilite l’interprétation au médecin.
En milieu clinique, l'analyse des IRM cérébrales se fait par le biais d'un radiologue, la
tâche de ce dernier consistant à traquer la présence d’anomalies. En présence d’anomalies, il
procédera à leur délimitation (image par image) dans le but de mesurer leurs étendues. Ce
procédé (appliqué pour chaque patient), en plus de consommer énormément de temps, il dépend
d'une part du médecin qui ne prend pas en compte toute la structure cérébrale ce qui amènerait
à une mauvaise conclusion, et d’autre part de la qualité d’images produites par la machine.
Partant de cela, nous nous sommes posés comme questions suivantes :
Page |2
plus proche voisin est une méthode non paramétrique où une nouvelle observation est classée
dans la classe d’appartenance de l’observation de l’échantillon d’apprentissage qui lui est la
plus proche, au regard des covariables utilisées. La détermination de leur similarité est basée
sur des mesures de distance.
Dans le présent travail, nous nous intéresserons aux problèmes d’apprentissage supervisé.
I.2.2. Apprentissage non supervisé
a. Définition
L’apprentissage non-supervisé traite des données non-étiquetées. L’objectif est d’identifier
automatiquement des caractéristiques communes aux observations.
Contrairement à l’apprentissage supervisé, le clustering ou l’apprentissage non supervisé ne
dispose que d’exemples, mais pas d’étiquettes, et le nombre de classes et leur nature ne sont
pas prédéterminés. En partant de ce principe, l’apprentissage non supervisé vise à diviser un
ensemble de données en différentes classes, en ce sens que les données de chaque sous-
ensemble partagent des caractéristiques communes, qui correspondent le plus souvent à des
critères de similarité que l’on définit en introduisant des mesures et classes de distance entre
objet.
b. Techniques utilisées
La technique la plus répandue est l’algorithme de Fuzzy C-Means (FCM) qui est un algorithme
de classification non-supervisée floue. Issu de l’algorithme des C-moyennes (C-means), il
introduit la notion d’ensemble flou dans la définition des classes : chaque point dans l'ensemble
des données appartient à chaque cluster avec un certain degré, et tous les clusters sont
caractérisés par leur centre de gravité. Comme les autres algorithmes de classification non
supervisée, il utilise un critère de minimisation des distances intra-classe et de maximisation
des distances interclasse, mais en donnant un certain degré d’appartenance à chaque classe pour
chaque pixel. Cet algorithme nécessite la connaissance préalable du nombre de clusters et
génère les classes par un processus itératif en minimisant une fonction objective. Ainsi, il
permet d'obtenir une partition floue de l'image en donnant à chaque pixel un degré
d'appartenance (compris entre 0 et 1) à une classe donnée. Le cluster auquel est associé un pixel
est celui dont le degré d’appartenance sera le plus élevé. Les principales étapes de l’algorithme
Fuzzy C-means sont :
La fixation arbitraire d’une matrice d’appartenance ;
Le calcul des centroïdes des classes ;
Le réajustement de la matrice d’appartenance suivant la position des centroïdes
Page |8
En se basant sur les données médicales d’un patient, l’algorithme peut diagnostiquer si le sujet
est atteint d’une maladie donnée. Parfois, ces algorithmes peuvent alerter d’un incident grave
de santé avant que cela n’arrive, notamment pour les crises cardiaques.
Détection de fraude
Ces algorithmes peuvent détecter des comportements frauduleux et anormaux. L’usage le plus
connu de cette technique est de détecter les fraudes financières.
Reconnaissance vocale
La reconnaissance vocale est à la base de systèmes comme Siri ou Alexa (assistant virtuel
d’Amazon). Ces algorithmes vont extraire la voix et les mots et les traduire sous forme de texte.
Chat Bots
Les agents conversationnels se basent sur le NLP (Natural Language Processing / Traitement
Naturel des langues) pour traduire les phrases qu’on écrit “naturellement” en des
“intentions”. Ces intentions sont utilisées par les Chat Bots répondre au mieux aux requêtes
d’un internaute. Les agents conversationnels sont utiles sur les sites e-commerce et leurs
divisions SAV car ils offrent une sensation de proximité à la clientèle.
I.4. Démarche pour résoudre un problème ML
L’apprentissage automatique ne se résume pas seulement à un ensemble d’algorithmes mais
c’est une listes d’étapes à prendre en compte et à exécuter afin d’arriver à un résultat optimal :
L’acquisition de donnés : L’algorithme se nourrissant des données en entrée, c’est une
étape importante. Il en va de la réussite du projet, de récolter des données pertinentes et
en qualité suffisante.
La préparation, et le nettoyage de la donnée : Il peut arriver que la donnée recueillie
à l’étape précédente ne soit pas pleinement pertinente, ou contienne du bruit, ou ne soit
pas assez structurée. Un opérateur humain va donc optimiser la donnée pour que
l’algorithme puisse mieux la traiter, ou arriver plus rapidement à son but.
La création du modèle : une fois les données classifiées, un ou plusieurs modèles sont
créés à l’aide d’algorithme de Machine Learning.
L’évaluation : Une fois l’algorithme d’apprentissage automatique entrainé sur un
premier jeu de donnée, on va l’évaluer sur un deuxième ensemble de données afin de
vérifier que le modèle ne fasse pas de surapprentissage.
Le déploiement : Le modèle va être déployé en production pour faire des prédictions,
et potentiellement utiliser les nouvelles données en entrée pour se ré-entrainer et
améliorer son modèle.
P a g e | 10
Une fois les données réunies et labellisées il va falloir les préparer pour une utilisation par le
réseau de neurone.
Augmentation artificiel du jeu de données
Pour augmenter la performance du réseau on peut lui soumettre la même image plusieurs fois,
en lui faisant subir des déformations. C’est une technique qui permet d’améliorer les
performances finales. Il s’agit d’augmenter la taille du jeu de données en créant des doublons
auxquels on applique un traitement d’image.
Choix du Framework
C’est en réalité un choix personnel comme celui d’un langage de programmation. À faire en
fonction de ses compétences et objectifs. C’est plus le choix du réseau de neurones qui va être
déterminant pour les performances.
Choix du réseau de neurone
C’est la partie délicate. La meilleure solution est de reprendre un réseau existant pour un
problème similaire à celui que l’on veut traiter.
Choix du matériel
Apprentissage du réseau de neurones
Nous arrivons enfin à la partie ou c’est la machine qui va travailler pour nous. La machine va
passer en revue chaque donnée du jeu d’entrainement. Quand le jeu de données a été parcouru
complètement une fois, on appelle cela une epoch. Il faut plusieurs epochs pour l’entrainement.
Cependant cette étape doit aussi être pilotée par un humain. Afin de choisir les hyper-
paramètres, c’est à dire les paramètres d’entraînement.
Après chaque epochs, la machine va tester son apprentissage en regard du jeu de test. Ce jeu de
test n’est pas utilisé dans la phase d’apprentissage, il permet de mesurer le taux de succès des
prédictions. En générale on utilise 60% des données pour l’entrainement et 40% pour les tests.
Une fois l’entrainement terminé, on peut aussi faire tourner le modèle sur un jeu de validation.
Des images qui n’aurons pas été utilisées ni pour l’apprentissage, ni pour les phases de tests.
Utilisation du réseau de neurone
Maintenant que le réseau est entraîné, nous allons pouvoir l’utiliser pour réaliser des
prédictions, c’est à dire indiquer ce qu’il pense être la meilleure réponse en fonction des données
qui lui sont présentées.
Post traitement
Il s’agit là d’utiliser la sortie du réseau de neurone pour la mettre en forme en fonction du besoin
attendu.
Parfois il n’y a rien de spéciale à faire mais dans d’autre cas cela peut être complexe.
P a g e | 14
Il faudra aussi décider des seuils à appliquer aux valeurs du taux de confiance du réseau dans
sa prédiction. Autrement dit est-ce que l’on prend le risque d’avoir des faux-positifs ou préfère-
t-on des vrais-négatifs ? Par exemple un e-commerçant préférera souvent accepter un taux de
fraude plutôt que de rejeter des clients légitimes par erreur. Alors qu’à l’inverse un labo
pharmaceutique ne pourra se permettre le moindre risque et préférera jeter des médicaments
viables.
Mise en production
Une fois que vous êtes satisfait du résultat, il faut déployer votre modèle en production.
Conclusion
Aujourd’hui, nous utilisons le machine Learning dans tous les domaines, les algorithmes de
machine Learning entrent en jeu pour optimiser, fluidifier et sécuriser notre expérience.
L’émergence récente du Deep Learning, qui est une branche du Machine Learning, les
algorithmes de Deep Learning gourmands en puissance et en données ont dépassé la plupart
des autres méthodes. Ils semblent être prêt à résoudre bien des problèmes : la recherche de
cellules cancéreuses, reconnaître des visages..etc.
P a g e | 15
Un pixel est le plus petit élément permettant de définir la base d’une image numérique. Il
matérialise un point donné (𝑥, 𝑦) du plan de l’image. L’information présentée par le pixel est le
niveau de gris (ou la couleur) prélevée à l’emplacement correspondant dans l’image réelle.
Pour une image monochrome, chaque pixel est codé sur un octet. Dans une image couleur
(R.V.B.), un pixel peut être représenté sur trois octets c’est à dire un octet pour chacune des
couleurs primaires : rouge (R), vert (V) et bleu (B).
b. Dimension
C’est la taille de l’image. Cette dernière se présente sous forme de matrice dont les éléments
sont des valeurs numériques représentatives des intensités lumineuses (pixels). Le nombre de
lignes de cette matrice multipliée par le nombre de colonnes nous donne le nombre total de
pixels dans une image.
c. Résolution
C’est la clarté ou la finesse de détails atteinte par un moniteur ou une imprimante dans la
production d’images. Sur les moniteurs d’ordinateurs, la résolution est exprimée en nombre de
pixels par unité de mesure (pouce ou centimètre). On utilise aussi le mot résolution pour
désigner le nombre total de pixels affichables horizontalement ou verticalement sur un
moniteur; plus grand est ce nombre, meilleure est la résolution.
d. Bruit
Un bruit (parasite) dans une image est considéré comme un phénomène de brusque variation de
l’intensité d’un pixel par rapport à ses voisins, il provient de l’éclairage des dispositifs optiques
et électroniques du photographique. Le contraste final de l'image dépend à la fois du sujet, de
la nature et du traitement du négatif et du positif.
e. Contraste
C’est une propriété intrinsèque d'une image qui désigne et quantifie la différence entre les
parties claires et foncées d'une image (elle différencie les couleurs claires des couleurs foncées).
En photographie on le définit comme la différence entre la densité la plus forte et la plus faible
d'une image. Le contraste final de l'image dépend à la fois du sujet, de la nature et du traitement
du négatif et du positif.
f. Luminance
C’est le degré de luminosité des points de l’image. Elle est définie ainsi comme étant le quotient
de l’intensité lumineuse d’une surface par l’aire apparente de cette surface.
g. Histogramme
P a g e | 17
L’histogramme des niveaux de gris ou des couleurs d’une image est un graphique sous la forme
d’une courbe qui met en valeur la répartition des pixels d’une image selon leur luminosité
offrant ainsi une visualisation de l’exposition d’une photo.
II.5. Types d’images
a. Image en noir et blanc
Le codage le plus simple de l’image est celui en noir et blanc. Dans ce type de codage, la couleur
est encodée sur un bit qui peut prendre 2 valeurs (0 et 1). Pour une image matricielle en noir et
blanc, chaque pixel est encodé par 1 bit noir ou blanc.
b. Image aux niveaux 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. Pour des images en niveaux de gris, l’intensité d’un
pixel est codée sur un octet et il y a donc 28 =256 nuances de gris possibles. Pour cela, il faut
que le matériel utilisé pour afficher l’image soit capable de produire les différents niveaux de
gris
c. Image en couleur
L’espace couleur est basé sur la synthèse additive des couleurs, c’est-à-dire que le mélange
entre différentes couleurs donne une nouvelle couleur. La plupart des images couleurs sont
basées sur trois couleurs primaires : Rouge, Vert et Bleu (RVB) (RGB en anglais), et utilisent
typiquement 8 𝑏𝑖𝑡𝑠 pour chaque composante de couleur, donc chaque pixel nécessite 3 ∗ 8 =
24 𝑏𝑖𝑡𝑠 pour coder les trois composantes, et chaque composante de couleur peut prendre l’une
des valeurs de l’intervalle [0 … 255].
On peut convertir une image RVB en niveaux de gris selon plusieurs méthodes la plus simple
𝒃𝒍𝒆𝒖+𝒗𝒆𝒓𝒕+𝒓𝒐𝒖𝒈𝒆
est de 𝒈𝒓𝒊𝒔 = c’est l’équivalent d’affecter la couleur grise à chacune des trois
𝟑
composants RVB.
II.6. Formats d’images
Les images appartiennent à deux grandes familles : bitmap (image-bit) et vectorielle
a. Le format matriciel
Une image matricielle, ou « carte de points » (de l’anglais bitmap), est une image constituée
d’une matrice de points colorés. C’est-à-dire, constituée d’un tableau, d’une grille, où chaque
case possède une couleur qui lui est propre et est considérée comme un point.
P a g e | 18
Les images vues sur un écran de télévision ou une photographie sont des images matricielles.
On obtient également des images matricielles à l'aide d'un appareil photo numérique, d'une
caméra vidéo numérique ou d'un scanner. Parmi ces formats on peut citer :
JPEG (Joint Photographic Expert Group)
C’est le format le plus courant (extension .jpg). On le rencontre sur Internet. Il occupe peu
d’espace disque. C’est le format développé par les photographes pour transmettre des images
de qualité photographique professionnelle. Il est libre de droits, gère les millions de couleurs
mais il ne possède pas de palette couleur associée et donc les couleurs peuvent être différentes
sur des machines et des systèmes différents.
GIF (Graphical Interchange Format)
Le format GIF est un format qui a ouvert la voie à l'image sur le World Wide Web. C'est un
format de compression qui n'accepte que les images en couleurs indexées codées sur 8 bits.
C'est un format qui perd beaucoup de son marché suite à une bataille juridique concernant les
droits d'utilisation sur internet.
PNG (Protable Network Graphic)
Les graphistes s’orientent vers ce format (extension Pc .png) qui est libre de droits. Avec ses
16 millions de couleurs, il permet un affichage très fidèle des images avec des fichiers de taille
raisonnable. Il permet la compression sans perte de données et est particulièrement adapté pour
les nuances et dégradés. C’est donc le meilleur format pour une image de qualité.
b. Le format vectoriel
Une image vectorielle est une image numérique composée de plusieurs objets géométriques
individuels (droites, polygones, arcs de cercle). Dans une image vectorielle les données sont
représentées à l’aide de formules mathématiques. Cela permet alors d’agrandir l’image
indéfiniment sans perte de qualité et d’obtenir un faible encombrement.
c. Avantage et inconvénient
Le gros avantage des images matricielles et qu’elles permettent de traiter des motifs complexes.
L’inconvénient est qu’elles peuvent être lourdes et que leur résolution est figée. Autrement dit,
plus vous voudrez agrandir une image matricielle et plus elle perdra en qualité car il manquera
des pixels pour reconstituer un motif plus grand. Une image matricielle perd donc en qualité
quand on l’enregistrer et qu’on la modifie.
À contrario, la qualité des images vectorielles ne peut pas s’altérer, peu importe le logiciel et la
résolution qu’on utilise pour les afficher. L’inconvénient est que certains formats sont
propriétaires et nécessitent des logiciels payants pour pouvoir les afficher. Par ailleurs, il
convient principalement aux motifs simples et géométriques pouvant être facilement transposés
P a g e | 19
en une formule mathématique (un logo par exemple). Il n’est pas adapté pour des motifs
complexes comme une photographie.
II.7. Domaines d’application
L'imagerie médicale employée avec différentes technologies (l’imagerie par résonnance
magnétique(IRM), radiographie, échographie, etc.)
La télédétection (météo, cartographie, analyse des ressources terrestres, astronomie).
Application militaires (guidage de missile, reconnaissance aérienne, sous-marine,
détection de mouvement).
La Géologie, la chimie, la physique.
La photographie.
II.8. Processus de traitement d’image
En réalité, il n’existe pas de méthode de traitement d'images générale pour tous les domaines
d'application possible. Il faut appliquer à chaque domaine des algorithmes spécifiques. Ces
derniers utilisent le plus souvent des techniques classiques à savoir : la segmentation, la
classification, la reconnaissance des frontières, la reconnaissance des caractères, etc. De
manière schématique toute méthode de traitement d'images comprend ces 3 étapes majeures :
Prétraitements des images ;
Amélioration des images ;
Analyse des images.
a. Prétraitement des images
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 son analyse. Son but est d'obtenir une image qui soit la plus proche possible
de l'image idéale qui aurait dû être obtenu si le système d'acquisition était parfait. Ainsi, ils
peuvent par exemple corriger :
Les défauts radiométriques du capteur : non linéarité des détecteurs, diffraction de
l'optique, etc.
Les défauts géométriques de l'image dus au mode d'échantillonnage spatial, à l'oblicité
de la direction de visée, au déplacement de la cible, etc.
Le filtrage ou réduction de fréquences parasites, par exemple dus à des vibrations du
capteur.
Les dégradations de l'image dues à la présence de matière entre le capteur et le milieu
observé.
b. Amélioration d'images
P a g e | 20
Modification de l'histogramme ;
Le filtrage linéaire (lissage, mise en évidence des frontières avec l'opérateur "Image -
Image lissée", etc.) et transformée de Fourier pour faire apparaître / disparaître certaines
fréquences dans l'image ;
Filtrage non linéaire (filtres médians, etc.) pour éliminer le bruit sans trop affecter les
frontières, etc.
c. Analyse d'images
Le but de l’analyse d’images est d'extraire et de mesurer certaines caractéristiques de l'image
traitée en vue de son interprétation. Ces caractéristiques peuvent être des données statistiques
sur des comptes numériques (moyenne, histogramme, etc.), ou sur des données dérivées (ex.
dimensions, ou orientation d’objets présents dans l’image). En général, le type d'information
recherché dépend du niveau de connaissance requis pour interpréter l'image. Les applications
dans le domaine du guidage et de la télédétection nécessitent souvent des connaissances
différentes et de plus haut niveau (ex., cartes 3-D) que dans les domaines du médical, de la
géologie, du contrôle de qualité, etc. Ainsi, un robot en déplacement ne nécessite pas le même
type d'information qu'un système utilisé pour détecter la présence de matériaux défectueux.
Pour ce dernier, il faut prendre uniquement la décision "non défectueux ou défectueux". Cette
décision peut être prise à partir d'un "raisonnement" plus ou moins complexe (exemple :
détection de la présence de raies d'absorption caractéristiques d'une impureté). Pour le robot, il
faut simuler le processus décisionnel d’un individu en déplacement, ce qui nécessite au
préalable de reconstituer une carte du lieu de déplacement en temps réel, avec les obstacles à
éviter.
II.9. Algorithmes utilisés dans différentes phases du traitement d’images
La classification d’objet qui consiste à catégoriser l’image entière dans une classe ;
La détection d’objet qui consiste à localiser des instances dans une image, en dessinant
un rectangle autour de chacune d’elle
La segmentation d’objet qui consiste à identifier les parties de l’image. Elle constitue la
base de la classification et la détection d’objet.
P a g e | 21
Conclusion
Ce chapitre, nous l'avons voulu à ce qu'il soit une brève introduction aux concepts liés au
domaine du traitement d'images. Les différentes définitions qui y sont développées sont celles
des connaissances élémentaires de cette discipline, mais combien même elles sont essentielles
pour l’initiation aux traitements approfondis des images.
P a g e | 22
Une architecture CNN est formée par un empilement de couches de traitement indépendantes :
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), souvent appelée par abus ReLU en référence à la
fonction d'activation (Unité de rectification linéaire).
La couche entièrement connectée (FC), qui est une couche de type perceptron.
La couche de perte (LOSS)
a. 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. Son but est de repérer la présence d'un
ensemble de caractéristiques (features) dans les images reçues en entrée. Pour cela, on réalise
un filtrage par convolution : le principe est de faire glisser une fenêtre représentant la feature
sur l'image, et de calculer le produit de convolution entre la feature et chaque portion de l'image
balayée. Une feature est alors vue comme un filtre : les deux termes sont équivalents dans ce
contexte. La couche de convolution 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. On obtient pour chaque paire (image,
filtre) une carte d'activation, ou feature map, 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.
Trois hyper paramètres permettent de dimensionner le volume de la couche de convolution
(Aussi appelé volume de sortie) : la profondeur, le pas et la marge.
Profondeur de la couche : nombre de noyaux de convolution (ou nombre de neurones
associés à un même champ récepteur).
Le pas : contrôle le chevauchement des champs récepteurs. Plus le pas est petit, plus les
champs récepteurs se chevauchent et plus le volume de sortie sera grand.
La marge (à 0) ou zéro padding : parfois, il est commode de mettre des zéros à la
frontière du volume d'entrée. La taille de ce zéro-padding est le troisième hyper
paramètre.
Cette marge permet de contrôler la dimension spatiale du volume de sortie. En particulier, il est
parfois souhaitable de conserver la même surface que celle du volume d'entrée.
b. Couche de pooling (POOL)
P a g e | 24
Après chaque couche convolutive, il peut y avoir une couche de pooling. Cette couche sous
échantillonne le long de la dimensionnalité spatiale de l'entrée donnée, ce qui réduira davantage
le nombre de paramètres au sein de cette activation. Il y a plusieurs façons de faire cette mise
en commun, comme prendre la moyenne ou le maximum, ou une combinaison linéaire prise
par des neurones dans le bloc. Par exemple, la Figure III.2 montre le max pooling et l’average
pooling sur une taille 2 × 2.
Pour l’average pooling : chaque case correspond à la moyenne du carré d’entrée de la même
6+8+8+6
couleur, exemple pour le cas de la case orange, on a : =7
4
Pour le max pooling : chaque case correspond à la valeur maximum du carré d’entrée de la
même couleur, exemple pour la case jaune, on a : max (1,3,1,3) =3
c. La couche de correction (RELU)
La couche de correction ReLU (Rectified Linear Units) remplace donc toutes les valeurs
négatives reçues en entrée par des zéros. Elle joue le rôle de fonction d’activation.
P a g e | 25
La couche de correction ou d’activation est l’application d’une fonction non linéaire aux cartes
de caractéristiques en sortie de la couche de convolution. En rendant les données non linéaires,
elle facilite l’extraction des caractéristiques complexes qui ne peuvent pas être modélisées par
une combinaison linéaire d’un algorithme de régression.
d. La couche entièrement connectée (FC)
Après plusieurs couches de convolution et de max pooling, le raisonnement de haut niveau dans
le réseau neuronal se fait via des couches entièrement connectées. Les neurones dans une
couche entièrement connectée ont des connexions vers toutes les sorties de la couche
précédente. Leurs fonctions d'activations peuvent donc être calculées avec une multiplication
matricielle suivie d'un décalage de polarisation.
e. Couche de perte (LOSS)
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 fonction « Softmax sur les classes de sortie.
III.4. Types d’architectures des CNN
Ce paragraphe abordera quelques-uns des architectures de CNN les plus célèbres sont :
VGGNet ;
LeNet ;
AlexNet ;
GoogLeNet/Inception.
a. VGGNet
Ce réseau se caractérise par sa simplicité, n’utilisant que 3×3 couches convolutives empilées
les unes sur les autres en profondeurs croissance. La réduction de la taille du volume est gérée
par la mise en commun maximale. Deux couches entièrement connectées, chacune avec 4096
nœuds, sont ensuite suivies d’un classificateur softmax. Le dropout fonctionne en déconnectant
de manière aléatoire les nœuds de la couche actuelle à la couche suivante. Ce processus de
déconnexions aléatoires pendant les lot d’apprentissage aide à introduire naturellement la
redondance dans le modèle.
Les deux algorithmes de VGG sont VGG16 et VGG19
P a g e | 26
indique à quelle fréquence nous pouvons nous attendre à ce que notre modèle d'apprentissage
automatique prédise correctement un résultat sur le nombre total de fois qu'il a fait des
prédictions.
Recherche médicale
À l’aide du Deep Learning, les chercheurs en cancérologie peuvent dépister automatiquement
les cellules cancéreuses avec plus de précision des cellules cancéreuses.
Automatisation industrielle
Le Deep Learning participe à l’amélioration de la sécurité des employés travaillant à proximité
d’équipements lourds, en détectant automatiquement les situations dans lesquelles la distance
de sécurité qui sépare le personnel ou les objets des machines est insuffisante.
Électronique
Le Deep Learning est utilisé pour la reconnaissance audio et vocale. Par exemple, les appareils
d’assistance à domicile qui répondent à votre voix et connaissent vos préférences fonctionnent
grâce à des applications de Deep Learning.
Aérospatiale et défense
Le Deep Learning sert à identifier des objets à partir de satellites utilisés pour localiser des
zones d’intérêt et identifier quels secteurs sont sûrs ou dangereux pour les troupes au sol.
Conduite automatisée
Les chercheurs du secteur automobile ont recours au Deep Learning pour détecter
automatiquement des objets tels que les panneaux stop et les feux de circulation. Le Deep
Learning est également utilisé pour détecter les piétons, évitant ainsi nombre d’accidents.
Conclusion
Dans ce chapitre, les réseaux de neurones à convolution ont été définis et leur rôle a été mis en
relief. Ces réseaux sont capables d’extraire des caractéristiques d’images ou des données en
général, présentées en entrée et de classifier ces données en se basant sur les caractéristiques
(de ces données) extraites automatiquement. Ils implémentent aussi l’idée de partage des poids
qui permettant de réduire beaucoup le nombre de paramètres libres de l’architecture. Ce partage
des poids permet en outre de réduire les temps de calcul et l’espace mémoire nécessaire et
également d’améliorer les capacités de généralisation du réseau.
P a g e | 29
IV.2.4. Keras
Keras est une API de réseaux de neurones de haut niveau, écrite en Python et capable de
fonctionner sur TensorFlow ou Theano. La bibliothèque Keras permet d'interagir avec les
algorithmes de réseaux de neurones profonds et d'apprentissage automatique, notamment
Tensorflow, Theano, elle est conçue pour permettre une expérimentation rapide avec les
réseaux de neurones profonds, elle se concentre sur son ergonomie, sa modularité et ses
capacités d’extension.
IV.2.5. Numpy
Numpy est une bibliothèque pour langage de programmation Python, destinée à manipuler
des matrices ou tableaux multidimensionnels ainsi que des fonctions mathématiques opérant
sur ces tableaux.
Plus précisément, cette bibliothèque logicielle libre et open source fournit de multiples
fonctions permettant notamment de créer directement un tableau depuis un fichier ou au
contraire de sauvegarder un tableau dans un fichier, et manipuler des vecteurs, matrices
et polynômes.
L'utilisation de Numpy dans python offre des fonctionnalités comparables à celles de Matlab
car ils sont tous deux interprétés. Ils permettent tous deux à l'utilisateur d'écrire des programmes
rapides en réalisant des opérations sur des tableaux ou des matrices à la place de scalaires.
Matlab dispose d'un grand nombre de boîtes à outils supplémentaires telles que simulink.
Numpy, quant à lui, est intrinsèquement intégré à python, langage de programmation plus récent
et complet de plus, des librairies python complémentaires sont disponibles.
IV.2.6. Matplotlib
C’est une bibliothèque du langage de programmation Python destinée à tracer et visualiser des
données sous formes de graphiques. Elle peut être combinée avec les bibliothèques python de
calcul scientifique NumPy et SciPy. Matplotlib est distribuée librement.
IV.2.7. Scikit-learn
Scikit-learn, encore appelé sklearn, est la bibliothèque la plus puissante et la plus robuste pour
le machine Learning en Python. Elle fournit une sélection d’outils efficaces pour
l’apprentissage automatique et la modélisation statistique, notamment la classification, la
régression et le clustering via une interface cohérente en Python. Cette bibliothèque, qui est en
grande partie écrite en Python, s’appuie sur Numpy, Scipy et Matplotlib.
IV.2.8. Plotly
P a g e | 31
Plotly est une bibliothèque de suivi interactive et open source qui prend en charge plus de 40
types de graphiques uniques couvrant un large éventail de cas d'utilisation statistiques,
financiers, géographiques, scientifiques et tridimensionnels.
Plotly permet aux utilisateurs de Python de créer de belles visualisations Web interactives qui
peuvent être affichées dans des blocs-notes Jupyter, enregistrées dans des fichiers HTML
autonomes ou utilisées dans le cadre d 'applications Web purement Python.
IV.2.9. OpenCV
OpenCV (Open Computer Vision) est une bibliothèque graphique libre, initialement
développée par Intel, spécialisée dans le traitement d'images en temps réel. La bibliothèque
Open CV met à disposition de nombreuses fonctionnalités très diversifiées permettant de créer
des programmes en partant des données brutes pour aller jusqu'à la création d'interfaces
graphiques basiques.
Elle propose la plupart des opérations classiques en traitement bas niveau des images :
Lecture, écriture et affichage d’une image ;
Calcul de l'histogramme des niveaux de gris ou d'histogrammes couleurs ;
Lissage, filtrage ;
Seuillage d'image (méthode d'Otsu, seuillage adaptatif)
Segmentation (composantes connexes, GrabCut) ;
Morphologie mathématique.
IV.4.3. Classification
La classification étant l’’une des méthodes d’apprentissage supervisé permettant de restituer
une valeur à expliquer discrète, comme une classe ou une étiquette. Ainsi, les données d’image
que nous avons utilisée se composent de deux classes :
Non pas de tumeur, codé 0
Oui tumeur, codée 1
IV.3.4.Evaluation du modèle
1. Courbe de précision
Les courbes nous permettent de nous assurer que le modèle apprend correctement. Il est
important de s'assurer que la courbe de précision monte au fur et à mesure des passages (epoch).
D’après nos résultats obtenus la courbe bleue représente la précision de notre modèle sur les
données d’entrainement, tandis que la courbe orange donne la précision sur les données de
validation.
3. Matrice de confusion
Une matrice de confusion est un résumé des résultats de prédictions sur un problème de
classification. Les prédictions correctes et incorrectes sont mises en lumière et réparties par
classe. Les résultats sont ainsi comparés avec les valeurs réelles.
Cette matrice permet de comprendre de quelle façon le modèle de classification est confus
lorsqu’il effectue des prédictions. Ceci permet non seulement de savoir quelles sont les erreurs
commises, mais surtout le type d’erreurs commises. Les utilisateurs peuvent les analyser pour
déterminer quels résultats indiquent comment les erreurs sont commises.
Chaque ligne du tableau correspond à une classe prédite, et chaque colonne correspond à une
classe réelle.
P a g e | 36
III.3.5.Test
Après avoir testé notre modèle sur nos données de test, il prédit avec un taux de précision de
70 %.
Le tableau montre l’architecture utilisée dans le modèle ainsi que le nombre d’époque. Les
résultats obtenus sont exprimés en termes de précision d’apprentissage, de test, d’erreur. Le
modèle que nous avons construit présente un meilleur résultat. Il prédit avec un taux précision
de 97 %. Le nombre d’époque et de couches de convolution reflètent ces bons résultats. D’une
manière générale, un réseau de neurone convolutionnel important et profond donne des bons
résultats et la performance de notre réseau se dégrade si une couche convolutive est supprimée.
Conclusion
Dans ce chapitre nous avons décrit les outils utilisés pour l’expérimentation de notre modèle en
utilisant le réseau de neurone convolutionnel. En se basant sur les indicateurs adaptés, nous
avons vu à travers les résultats obtenus que l’apprentissage d’un modèle consiste à minimiser
la fonction cout qui est un paramètre qui indique à quel niveau la classe prédite est proche de
la classe réelle.
Nous avons présenté nos résultats obtenus. On a pu marquer les points suivants : Nous pouvons
améliorer la prédiction et être en mesure d’avoir le résultat plus précis avec un ensemble de
données plus grand ; l’utilisation du GPU permet de gagner en temps d’exécution et
éventuellement d’augmenter efficacité et le rendement de l’application du deep learning
P a g e | 38
CONCLUSION GENERALE
Au terme de ce travail, notre préoccupation majeure a consisté à concevoir un modèle
permettant de classifier les images cérébrales en images normales et image pathologiques à
partir d’une IRM dans le cadre de l’aide au diagnostic.
Ce travail avait pour objectif principal de construire un modèle de réseau de neurones à
convolution (CNN) qui classifierait si le sujet a une tumeur ou non sur la base d'une imagerie
par résonance magnétique cérébrale.
Pour parvenir à cet objectif, nous avons recouru à la méthode descriptive qui nous a
permis de décrire le processus de traitement d’images. La méthode expérimentale qui nous
permis de réaliser la prédiction sur un jeu de données.
Etant donné que le travail s’inscrit dans l’apprentissage automatique, nous avons débuté
par définir ces concepts de base ayant trait à notre sujet d’où le chapitre sur l’apprentissage
automatique, puis le traitement d’image a succédé au premier chapitre pour être sûr de
comprendre les notions de traitement d’image. Au troisième chapitre, nous avons parlé de
réseaux de neurones à convolution pour construire notre modèle car ils sont les modèles les plus
performants pour la classification, la localisation et la segmentation des images surtout dans le
domaine médical et permettent d’extraire les caractéristiques d’une image. Et pour la réalisation
de notre modèle, nous avons opté pour une solution en Python qui est devenu aujourd’hui le
langage de développement le plus utilisé en particulier pour le Machine Learning et certaines
bibliothèques notamment Keras Tensorflow, Scikit-learn, Matplotlib, Numpy, d’où le
quatrième chapitre.
A l’issu de l’expérimentation, le modèle offre une précision de 70% sur nos données de
test qui avoisine la perfection. Au vu des résultats obtenus par la solution, nous déclarons notre
objectif atteint et toutes nos hypothèses avancées sont confirmées.
Plusieurs perspectives peuvent être envisagées dans la prolongation de ce mémoire, nous
pouvons citer :
Tester d’autres bases de données plus grandes ;
Détection des tumeurs cérébrales par leur type.
P a g e | 39
BIBLIOGRAPHIE
[1] Chloé-Agathe Azencott, Introduction au machine Learning, Dunod,2018
[2] Yann Le Cun sur, l’apprentissage prédictif, 2016
[3] Guillaume Saint Cirgue, Apprendre le machine Learning en une semaine, Edition 2019
[4] Frédéric SUR, Introduction à l’apprentissage automatique, Minesnancy, 2020-2021
[5] Machine Learning : retour aux sources, sur Nexword, 2 octobre 2017
[6] KAFUNDA KATALAY P, Intelligence artificiel approfondi, deuxième licence génie
Informatique, université de Mbuji-Mayi, 2021. Inédit.
[7] David MUETU KASONGA, Apprentissage artificiel basé sur le réseau de neurones à
convolution pour la reconnaissance des plaques d’immatriculation des véhicules ,2020-2021
[8] BUKASA MUEPU Bienvenue, Apprentissage artificiel basé sur les réseaux de neurones à
convolution pour la reconnaissance des chiffres manuscrits cas des chèques bancaires ,2020-
2021
[9] BELHADEF Salima et BENABDALLAH Khadidja , Segmentation des images IRM
cérébrales par apprentissage profond,2019-2020
[10] Melle ACHAT Thinhinane et Melle BENHAMAOUCHE Fatima, Segmentation d’image par
classifieurs flous: Application à l’Imagerie par Résonance Magnétique (IRM), promotion 2015
[11] KAIDI DALIA, Classification non supervisée de pixels d’images couleur par analyse
d’histogrammes tridimensionnels,2017
[12] D. Andriamiandrasoa ianjafitia, Système de détection d'objet base sur le deep learning dans
un magasin intelligent, 2019
[13] KHERMAZA ELYES ET BOUTIARA ABDELOUAHAB, Traitement des images IRM
pour la détection des tumeurs cérébrales par les algorithmes de deep Learning CNN, Faster
RCNN, Mask R-CNN et Transfer Learning sous environnement cloud,2019-2020
[14] Senani SAMY, Réseaux de neurones convolutionnels pour la détection précoce de la
rétinopathie diabétique,2019
[15] TOUMI SIHEM NOUR EL-HOUDA La segmentation des images IRM cérébrales par le
Modèle Actif d’Apparence,2017
[16] Mohamed Mokhtar Bendib, Détection de pathologies à partir d’IRM cérébrales,2014-2015
[17] Boughaba Mohammed et Al, L`apprentissage profond (Deep Learning) pour la
classification et la recherche d’images par le contenu,2017.
[18] OULMI Mehdi et KALOUNE Salim, Classification d'objets avec le Deep Learning,2017-
2018
P a g e | 40
[19] Gridi Adel, Un Outil de Deep Learning pour les données textuelles,2019-2020
[20] https://24pm.com › Définitions
[21]https://www.journaldunet.fr/web-tech/guide-de-l-intelligence-artificielle/1501881-
machine-learning/..
[22] J.P.Gastellu-Etchegorry, "d’acquisition et traitement d’image numérique", IUT
Département de mesures physique, Université Paul Sabatier, Avril 2008.
[23] https://blog.hubspot.fr › marketing › deep-learning
[24].https://blog.pangeanic.com/fr/quelle-est-la-diff%C3%A9rence-entre-lapprentissage-
automatique-et-lapprentissage-profond
[25] https://courty.fr/deep-learning-02-etapes-dun-projet-de-deep-learning/
[26] https://fr.wikipedia.org/wiki/NumPy
[27] https://www.data-transitionnumerique.com/scikit-learn-python/
[28]https://fr.wikipedia.org/wiki/Matplotlib#:~:text=Matplotlib%20est%20une%20biblioth%
C3%A8que%20du,calcul%20scientifique%20NumPy%20et%20SciPy. Novembre2021
[29] OpenCV https://fr.wikipedia.org/wiki/OpenCV
[30] https://fr.theastrologypage.com/kaggle
[31]https://www.jedha.co/formation-ia/algorithmes-machine
learning#:~:text=Les%20algorithmes%20de%20Machine%20Learning%20sont%20une%20c
lasse%20bien%20sp%C3%A9cifique,autonomie%20%C3%A0%20partir%20des%20donn%
C3%A9es
[32]https://blog.revolve.team/2022/03/15/dans-ta-science-machine-learning-diagnostic cancer/
[33]https://vitalflux.com/accuracy-precision-recall-f1-score-python-example/
[34]https://geekflare.com/fr/convolutional-neural-networks/