Vous êtes sur la page 1sur 51

Page |i

EPIGRAPHE

« Il n’est pas possible pour un programme informatique de penser comme un


être humain. Certaines limitations demeurent »

Mutamba Bil, 1994


P a g e | ii

DEDICACE

A la famille TSHITUNGU KABALA François pour son soutien et amour.

NTUMBA TSHITUNGU Omere


P a g e | iii

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.

NTUMBA TSHITUNGU Omere


P a g e | iv

LISTE DES FIGURES


Figures Intitulé Page

Figure I.1 Apprentissage supervisé 5


Figure I.2 Apprentissage par renforcement 8
Figure I.3 La relation entre l’intelligence artificielle, 10
l’apprentissage automatique et l’apprentissage
profond
Figure III.1 Exemple de calcul du Max pooling et Average 24
pooling
Figure III .2 Visualisation de l’architecture VGG 26
Figure IV .1 Configuration du modèle 33
Figure IV .2 Entrainement du modèle 34
Figure IV .3 Classification du modèle 34
Figure IV .4 Courbe de précision 5
Figure IV .5 Courbe de perte 35
Figure IV .6 Matrice de confusion test 36
Figure IV .7 Matrice de confusion validation 37
Figure IV .8 test de la précision du modèle 37
Page |v

LISTE DES TABLEAUX


Tableaux Intitulé Page

Tableau I.1 Différence entre deep Learning et machine 11


Learning
Tableau III.1 Matrice de Confusion 27
Tableau IV.1: Interprétation des résultats 37
P a g e | vi

LISTE DES ACRONYMES


Abréviations Significations

CNN Réseaux neuronaux convolutifs

DL deep Learning

FN Faux négatif

FP Faux positif

GAN Réseaux adversariaux génératifs

GIF Graphical Interchange Format

IA Intelligence artificielle

IRM Imagerie par résonnance magnétique

JPG Joint Photographic Expert Group

ML machine Learning

MLP Réseaux de neurones multicouches

N Négatif

PNG Protable Network Graphic

P Positif

RNN Réseaux neuronaux récurrents

RVB Rouge Vert Bleu


TP Vrai positif
TN Vrai négatif
P a g e | vii

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

TABLE DES MATIERES


EPIGRAPHE ............................................................................................................................... i
DEDICACE ................................................................................................................................ ii
REMERCIEMENTS ................................................................................................................. iii
LISTE DES FIGURES .............................................................................................................. iv
LISTE DES TABLEAUX .......................................................................................................... v
LISTE DES ACRONYMES ..................................................................................................... vi
RESUME .................................................................................................................................. vii
ASBTRACT ............................................................................................................................ viii
INTRODUCTION GENERALE ................................................................................................ 1
CHAPITRE I : APPRENTISSAGE ARTIFICIEL [1, 2, 3, 5, 15, 17,21, 22,23] ....................... 4
Section I : Machine Learning ................................................................................................. 4
I.1. Concepts de base .......................................................................................................... 4
I.1.1. Machine Learning ...................................................................................................... 4
I.1.2.Dataset ........................................................................................................................ 4
I.1.3. Modèle et ses paramètres ........................................................................................... 4
I.1.4. Fonction cout ............................................................................................................. 4
I.1.5. Algorithme d’apprentissage ....................................................................................... 5
I.2. Types d’apprentissages ................................................................................................. 5
I.3. Domaines d’application du Machine Learning............................................................. 8
I.4. Démarche pour résoudre un problème ML ................................................................... 9
Section II : Deep Learning.................................................................................................... 10
II.1. Définition .................................................................................................................. 10
II.2. Deep Learning face au machine Learning ................................................................. 10
II.3. Algorithmes de deep Learning .................................................................................. 12
II.4. Domaines d’application du deep Learning ................................................................ 12
II.5. Démarche pour résoudre un problème DL ................................................................ 12
Conclusion ............................................................................................................................ 14
CHAPITRE II : TRAITEMENT D’IMAGES [11, 12, 10, 7, 8,20] ......................................... 15
II.1. Introduction ................................................................................................................... 15
II.2. Définition de l’image .................................................................................................... 15
II.3. Définition de l’image numérique .................................................................................. 15
II.4. Caractéristiques d’une image numérique ...................................................................... 15
II.5. Types d’images ............................................................................................................. 17
II.6. Formats d’images .......................................................................................................... 17
Page |x

II.7. Domaines d’application ................................................................................................ 19


II.8. Processus de traitement d’image ................................................................................... 19
II.9. Algorithmes utilisés dans différentes phases du traitement d’images .......................... 20
Conclusion ............................................................................................................................ 21
CHAPITRE III : RESEAUX DE NEURONNES A CONVOLUTION [19, 18, 12, 9, 14, 17,
8,32].......................................................................................................................................... 22
III.1.Introduction .................................................................................................................. 22
III.2. Conception de base du CNN ....................................................................................... 22
III.3. Composition d’un CNN .............................................................................................. 22
III.4. Types d’architectures des CNN ................................................................................... 25
III.5. Critères d’évaluation du CNN ..................................................................................... 26
III.5.1. La précision ........................................................................................................... 26
II.5.2. Matrice de Confusion ............................................................................................. 27
III.6. Quelques applications du CNN ................................................................................... 27
Conclusion ............................................................................................................................ 28
CHAPITRE IV : IMPLEMENTATION ET INTERPRETATION DES RESULTATS [14, 12,
8,7, 24, 25, 26,27,28]................................................................................................................ 29
IV.1. Introduction ................................................................................................................. 29
IV.2. Présentation des outils ................................................................................................. 29
IV.2.1. Kaggle ................................................................................................................... 29
IV.2.2. Langage de programmation python ...................................................................... 29
IV.2.3. Tensorflow ............................................................................................................ 29
IV.2.4. Keras ..................................................................................................................... 30
IV.2.5. Numpy .................................................................................................................. 30
IV.2.6. Matplotlib ............................................................................................................. 30
IV.2.7. Scikit-learn ............................................................................................................ 30
IV.2.8. Plotly ..................................................................................................................... 30
IV.2.9. OpenCV ................................................................................................................ 31
IV.3.Présentation des résultats.............................................................................................. 31
IV.3.1.Modele crée ........................................................................................................... 31
IV.3.2. Entrainement du modèle ....................................................................................... 32
IV.4.3. Classification ........................................................................................................ 33
IV.3.4.Evaluation du modèle ............................................................................................ 34
III.3.5.Test ......................................................................................................................... 36
III.3.6. Interprétation de résultats ...................................................................................... 36
Conclusion ............................................................................................................................ 37
P a g e | xi

CONCLUSION GENERALE .................................................................................................. 38


BIBLIOGRAPHIE .............................................................................................................................. 39
Page |1

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

 Comment un système informatique peut-il aider les médecins dans la prise de


décision sur les images prises par IRM?
 Quel impact positif un système de reconnaissance automatique d’anomalies du cerveau
pourrait-il apporter aux médecins ?
Ainsi, en rapport avec la première question, pour aider le médecin il conviendrait
d’utiliser la reconnaissance automatique sur les images du cerveau.
En rapport avec la deuxième question, nous pensons que le système diminuerait le temps
d’examination des images produites par IRM, faciliterait la prise de décision sur base de mêmes
caractéristiques sans possibilité de se tromper.
C’est donc dans cette optique que ce travail s’intitule « Apprentissage automatique basé
sur le réseau de neurones à convolution pour la reconnaissance des formes ». Le travail
s’applique à l’imagerie par résonance magnétique (IRM).
Ce mémoire nous est très capital car il nous permet de comprendre les notions d’apprentissage
automatique, de traitements d’images, de réseau de neurones à convolution et de la
programmation avec le langage python. Pour les médecins, ce travail permet de connaître avec
exactitude les changements survenus sur les images prises et d’assister les médecins dans leur
prise de décision. Enfin, le travail se veut une référence pour ceux qui aborderont le sujet des
réseaux de neurones convolutifs et la reconnaissance de formes.
L'objectif principal de ce travail est 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. Nous avons utilisé l'architecture et les poids du modèle
[VGG-16] pour entraîner le modèle à ce problème binaire.
Pour atteindre 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 en utilisant brain-mri-images-for-brain-
tumor-detection/brain_tumor_dataset/.
Dans le temps, notre travail s’est élaboré du mois d’août 2022 au mois de décembre
2022. Notre étude vise la reconnaissance des tumeurs cérébrales, nous nous sommes limités à
la construction du modèle, son entrainement, son test, sa validation et son optimisation.
En dehors de l’introduction et la conclusion, notre travail est subdivisé en quatre grands
chapitres suivants :
Chapitre premier : Apprentissage automatique : dans ce chapitre, nous abordons les notions
de base sur le Machine Learning et le deep Learning.
Page |3

Chapitre deuxième : Traitement d’images : dans ce chapitre, nous présentons quelques


notions de base du domaine de traitement d’image numérique.
Chapitre troisième : Réseaux de neurones convolutionnels ; ce chapitre est consacré à la
description des réseaux de neurones convolutifs ainsi que leur place dans le domaine de la
classification.
Chapitre quatrième : Implémentation et interprétation des résultats ; ce chapitre est
consacré à la présentation des résultats obtenus après l’implémentation des réseaux de neurones
convolutionnels (CNN) que nous avons utilisés.
Page |4

CHAPITRE I : APPRENTISSAGE ARTIFICIEL [1, 2, 3, 5, 15,


17,21, 22,23]
Dans ce chapitre, nous présentons les concepts de base ayant trait à notre travail : les notions
sur le machine Learning et le deep Learning.
Section I : Machine Learning
I.1. Concepts de base
I.1.1. Machine Learning
 Le Machine Learning est un champ d’étude de l’intelligence artificielle qui se fonde
sur des approches statistiques pour donner aux ordinateurs la capacité d’« apprendre »
à partir de données.
 L'apprentissage automatique (machine Learning en anglais), un des champs d'étude
de l'intelligence artificielle, est la discipline scientifique concernée par le
développement, l'analyse et l'implémentation de méthodes automatisables qui
permettent à une machine (au sens large) d'évoluer grâce à un processus d'apprentissage,
et ainsi de remplir des tâches qui sont difficiles ou impossible d’être réalisées par des
moyens algorithmiques plus classiques.
 L’apprentissage automatique est la science (l’art) de programmer des ordinateurs de
sorte qu’ils puissent apprendre à partir des données.
I.1.2.Dataset
Un data set (ou jeu de données ou ensemble de données) est un ensemble de données numérisées
(statistiques, textes, images, son, vidéo…). C’est le minerai brut que l’on fournit aux
algorithmes de machine Learning ou de deep Learning pour que ces derniers créent des «
modèles », c’est-à-dire des équations statistiques qui permettent à l’algorithme de réaliser des
prévisions.
I.1.3. Modèle et ses paramètres
Un modèle de machine Learning est un fichier qui a été entraîné à partir d'une base d'apprentissage
en vue d'automatiser des tâches. Une fois entraîné, le modèle doit être capable de générer des résultats
à partir de données (textes, photos) qu'il n'a encore jamais traitées.
I.1.4. Fonction cout
Lorsqu’on teste notre modèle sur le Dataset, celui-ci nous donne des erreurs. L’ensemble de ces
erreurs, c’est ce qu’on appelle la Fonction Coût.
Page |5

I.1.5. Algorithme d’apprentissage


Un algorithme d’apprentissage est un programme à même d’apprendre en toute autonomie à
partir des données. Ils sont ainsi capables de s’améliorer avec les entrainements et sont
employés pour accomplir des tâches comme la simple analyse de données ou des prédictions.
I.2. Types d’apprentissages
I.2.1. Apprentissage supervisé
a. Définition
L’apprentissage supervisé est peut-être le type de problèmes de machine Learning le plus facile
à appréhender : son but est d’apprendre à faire des prédictions, à partir d’une liste d’exemples
étiquetés, c’est-à-dire accompagnés de la valeur à prédire. Les étiquettes servent de « professeur
» et supervisent l’apprentissage de l’algorithme. ‘
On appelle apprentissage supervisé la branche du machine Learning qui s’intéresse aux
problèmes pouvant être formalisés de la façon suivante : étant données n observations {~x i}
i=1,...,n décrites dans un espace X, et leurs étiquettes {yi}=1,…,n décrites dans un espace Y,
on suppose que les étiquettes peuvent être obtenues à partir des observations grâce à une
fonction Φ: X → Y fixe et inconnue : yi =Φ (xi) +i, où i est un bruit aléatoire. Il s’agit alors
d’utiliser les données pour déterminer une fonction f : X →Y telle que, pour tout couple (~x,
Φ(~x)) ∈ X × Y, f(~x) ≈Φ(~x).

Figure I.1 Apprentissage supervisé


b. Techniques utilisées
Les techniques sont :
Page |6

 Les réseaux de neurones :


Les réseaux de neurones proposent une simulation du fonctionnement de la cellule nerveuse à
l’aide d’un automate : le neurone formel. Les réseaux neuronaux sont constitués d’un ensemble
de neurones (nœuds) connectés entre eux par des liens qui permettent de propager les signaux
de neurone à neurone. Grâce à leur capacité d’apprentissage, les réseaux neuronaux permettent
de découvrir des relations complexes non-linéaires entre un grand nombre de variables, sans
intervention externe. De ce fait, ils sont largement utilisés dans de nombreux problèmes de
classification (ciblage marketing, reconnaissance de formes, traitement de signal,…)
d’estimation (modélisation de phénomènes complexes,…) et prévision (bourse, ventes,…). Il
existe un compromis entre clarté du modèle et pouvoir prédictif. Plus un modèle est simple,
plus il sera facile à comprendre, mais moins il sera capable de prendre en compte des
dépendances trop variées.
 Les arbres de décision :
L’arbre de décision est un schéma ayant la forme d’un arbre, qui représente les data possibles
d’une série de choix interconnectés. L’arbre de décision permet à une organisation ou une
personne d’évaluer différentes actions possibles en fonction des bénéfices, des probabilités et
de coûts. Il se base pour ce faire sur un ensemble de données exploitable. Il peut être utilisé
pour créer un algorithme de machine Learning permettant de déterminer, de façon
mathématique le meilleur choix à faire une situation donnée.
 Les machines à vecteur de support :
Les machines à vecteurs de support ou séparateurs à vaste marge (en anglais Support Vector
Machine, SVM) sont un ensemble de techniques d'apprentissage supervisé destinées à résoudre
des problèmes de classification. les SVM sont une généralisation des classifiées linéaires. Les
SVM ont rapidement été adoptés pour leur capacité à travailler avec des données de grandes
dimensions, le faible nombre d'hyper paramètres, leurs garanties théoriques, et leurs bons
résultats en pratique. Les SVM ont été appliqués à de très nombreux domaines (bio-
informatique, recherche d'information, vision par ordinateur, finance...). Selon les données, la
performance des machines à vecteurs de support est de même ordre, ou même supérieure, à
celle d'un réseau de neurones ou d'un modèle de mixture gaussienne.
 La méthode des k plus proches voisins :
L’algorithme KNN figure parmi les plus simples algorithmes d’apprentissage artificiel. Dans
un contexte de classification d’une nouvelle observation x, l’idée fondatrice simple est de faire
voter les plus proches voisins de cette observation. La classe de x est déterminée en fonction de
la classe majoritaire parmi les k plus proches voisins de l’observation x. Donc la méthode du
Page |7

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

 Calcul du critère de minimisation et retour à l’étape 2 s’il y a non convergence de


critère.
I.2.3. Apprentissage par renforcement
a. Définition
Dans le cadre de l’apprentissage par renforcement, le système d’apprentissage peut interagir
avec son environnement et accomplir des actions. En retour de ces actions, il obtient une
récompense, qui peut être positive si l’action était un bon choix, ou négative dans le cas
contraire. La récompense peut parfois venir après une longue suite d’actions ; c’est le cas par
exemple pour un système apprenant à jouer au go ou aux échecs. Ainsi, l’apprentissage consiste
dans ce cas à définir une politique, c’est-à-dire une stratégie permettant d’obtenir
systématiquement la meilleure récompense possible.
Les applications principales de l’apprentissage par renforcement se trouvent dans les jeux
(échecs, go, etc) et la robotique.

Figure I.2 : Apprentissage par renforcement


b. Techniques utilisées
La technique la plus utilisée est l’algorithme Q-Learning, Il permet de comprendre rapidement
le mécanisme d'apprentissage de nombreux modèles. Il permet également d'identifier la
meilleure action à entreprendre dans un contexte bien précis.
Le Q-Learning est capable d’effectuer des actions aléatoires sans tenir compte de la politique
actuelle. Cet algorithme cherche surtout à apprendre une politique qui maximise la récompense
totale. Le Q-Learning met en évidence l’utilité de l’action à accomplir pour obtenir une
récompense. C’est une technique très recommandée pour commencer l’apprentissage de
renforcement
I.3. Domaines d’application du Machine Learning
 Diagnostic médical
Page |9

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

Section II : Deep Learning


II.1. Définition
L'intelligence artificielle est une discipline scientifique recherchant des méthodes pour résoudre
de problèmes à forte complexité logique ou algorithmique. L'apprentissage automatique est le
champ d'étude de l'intelligence artificielle. Par conséquent, L'apprentissage profond (en anglais
deep learning) est un ensemble de méthodes d'apprentissage automatique tentant de modéliser
avec un haut niveau d’abstraction des données grâce à des architectures articulées de différentes
transformations non linéaires.

Figure I.3: La relation entre l’intelligence artificielle, l’apprentissage automatique et


l’apprentissage profond
II.2. Deep Learning face au machine Learning
P a g e | 11

Tableau I.1 : différence entre deep Learning et machine Learning


P a g e | 12

II.3. Algorithmes de deep Learning


Plusieurs types d'algorithmes sont utilisés en apprentissage profond. Chaque algorithme
possède ses propres spécificités et applications nous citons :
 Réseaux neuronaux convolutifs (CNN)
 Réseaux neuronaux récurrents (RNN)
 Réseaux adversariaux génératifs (GAN)
II.4. Domaines d’application du deep Learning
Le deep Learning est utilisé dans de nombreux domaines :
 En médecine
En scannant les images avec beaucoup plus de précision qu’un œil humain, même exercé, l’IA
est un atout pour la médecine. L’intelligence artificielle permet par exemple de différencier des
tumeurs cancéreuses de celles qui ne le sont pas ou encore pour détecter des maladies bien plus
tôt que ce qui était possible auparavant.
 la conduite autonome
Vous en avez sûrement beaucoup entendu parler, mais saviez-vous que le Deep learning est le
système intelligent qui permet la conduite autonome ? Cette technologie, appelée à améliorer
la sécurité routière, existe d’ailleurs déjà. Celle-ci combine plusieurs algorithmes
d’apprentissage profond, comme ceux reconnaissant les panneaux de signalisation ou ceux
localisant les piétons.
 Cyber sécurité
De leur faculté à repérer les irrégularités dans les activités d’un système informatique, les
intelligences artificielles s’appuyant sur le Deep Learning sont particulièrement appropriées
pour les cyber-attaques. Ils sont également un outil efficace pour la vidéosurveillance sur des
sites vulnérables comme des aéroports par exemple
II.5. Démarche pour résoudre un problème DL
Nous allons décrire ici les différentes étapes nécessaires pour mener à bien un projet :
 Acquisition des données
C’est une étape cruciale et un des gros inconvénients de l’apprentissage supervisé : il faut un
gros volume de données d’entrainement pour que les réseaux de neurones puissent apprendre.
 Classification des données
Une fois que vous avez le bon volume de données il faut les classer, on dit aussi labelliser, ou
étiqueter. Ceci afin d’indiquer pour chaque image ce qu’elle contient. Or cette étape est souvent
entièrement manuelle.
 Prétraitement des données
P a g e | 13

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

CHAPITRE II : TRAITEMENT D’IMAGES [11, 12, 10, 7, 8,20]


II.1. Introduction
La vue nous permet de réaliser une large diversité de tâches. L’image est un modèle naturel des
données d’entrée de notre système visuel dont la structure anatomique de notre appareil visuel
est d’une complexité considérable, mais les stades premiers de l’acquisition des stimuli visuels
sont schématiquement simples. Suite à une transformation optique réalisée dans la partie
antérieure du globule oculaire, le flot lumineux est projeté sur la rétine, où une image rétinienne
se forme. La membrane rétinienne est tapissée de millions de cellules, appelées
photorécepteurs, qui réagissent aux différentes longueurs d’onde de la lumière. Cette étude
pourrait représenter un raccourci pour comprendre les systèmes de vision artificielle qui
consiste à reproduire les processus visuels au moyen de machines.
Dans le présent chapitre, nous abordons quelques notions de base du domaine de traitement
d’image numérique.
II.2. Définition de l’image
L’image est une représentation d’une personne ou d’un objet par la peinture, sculpture, le
dessin, la photographie, le film...etc. c’est également une représentation du monde.
Elle peut être décrite sous la forme d’une fonction (𝑥, 𝑦) , tel que 𝑥 et 𝑦 sont les coordonnées
spatiales d’un point de l’image et 𝐼 est une fonction d’intensité lumineuse et de couleur.
II.3. Définition de l’image numérique
Une image numérique est un signal bidimensionnel (2D) ou tridimensionnel (3D). Or, afin de
pouvoir réaliser des traitements informatiques sur une image, celle-ci doit être absolument
numérique ou numérisée. La numérisation d’une image consiste à convertir les valeurs
continues du signal de cette dernière 𝑖 (son état analogique) en des valeurs discontinues 𝐼qui
correspond à une structure de données informatiques.
Ainsi, une image numérique est définie par : le nombre de pixels qui la composent en largeur
et en hauteur. La valeur que peut prendre chaque pixel, elle est représentée par un scalaire dans
le cas d’images en niveau de gris et par un vecteur à trois composantes Rouge, Vert et Bleu
dans le cas d’images couleurs.
II.4. Caractéristiques d’une image numérique
L’image est un ensemble structuré d’informations caractérisé par les paramètres suivants :
a. Pixel
P a g e | 16

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

L’amélioration d’images consiste à modifier les caractéristiques visuelles de l’image (contraste,


histogramme, etc.) pour faciliter son interprétation par l’oeil humain. Pour cela elle élimine ou
réduit le bruit de l'image. Les principales techniques sont :
L’amélioration de contraste.

 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

CHAPITRE III : RESEAUX DE NEURONNES A


CONVOLUTION [19, 18, 12, 9, 14, 17, 8,32]
III.1.Introduction
Dans ce chapitre, nous allons faire une présentation générale des CNNs, ensuite, on verra en
détail les différentes couches, s’en suivra les types d’architecture, enfin, les critères
d’évaluation de CNN seront abordés pour conclure ce chapitre.
III.2. Conception de base du CNN
 Convolution
C'est le bloc de construction principal de CNN où la plupart des calculs ont lieu. Il nécessite
moins de composants, tels que des données d'entrée, une carte des fonctionnalités et un filtre.
 Extraction des caractéristiques
CNN peut facilement apprendre les caractéristiques d'une image sans nécessiter d'ingénierie
manuelle. Vous pouvez tirer parti des CNN pré-formés et gérer les pondérations en leur
fournissant des données lorsque vous travaillez sur une nouvelle tâche, et le CNN s'y adaptera
de manière transparente.
 Fonction d’activation
Une fonction d’activation est une fonction mathématique utilisée sur un signal. Elle va
reproduire le potentiel d’activation que l’on retrouve dans le domaine de la biologie du cerveau
humain. Elle va permettre le passage d’information ou non de l’information si le seuil de
stimulation est atteint. Concrètement, elle va avoir pour rôle de décider si on active ou non une
réponse du neurone.
 Les réseaux de neurones convolutionnels (CNN)
Les réseaux de neurones convolutionnels (ou CNN pour « Convolutional Neural Network »)
sont une extension des MLP permettant de répondre efficacement aux principaux défauts des
MLP. Ils sont conçus pour extraire automatiquement les caractéristiques des images d’entrée,
sont invariants à de légères distorsions de l’image, et implémentent la notion de partage des
poids permettant de réduire considérablement le nombre de paramètres du réseau. Ce partage
des poids permet en outre de prendre en compte de manière forte les corrélations locales
contenues dans une image. Les poids sont forcés à être égaux pour détecter des lignes, des
points ou des coins à tous les endroits possibles de l’image, implémentant de fait l’idée du
partage des poids.
III.3. Composition d’un CNN
P a g e | 23

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.

Figure III.1 : Exemple de calcul du Max pooling et Average pooling

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

Figure III.2 : Visualisation de l’architecture VGG


b. LeNet
LeNet est un réseau de convolution à 7 niveaux, il permet de classifier des chiffres. Il a été
utilisé par plusieurs banques pour reconnaitre les nombres manuscrits sur les chèques numérisés
en image d’entrée de taille 32 × 32.
c. AlexNet
AlexNet est constitué de 5 couches convolutives, suivies de 3 couches entièrement connectées
et utilise Relu pour la partie non linéaire.
d. GoogLeNet/Inception.
Le principe de l’architecture Inception consiste à augmenter la profondeur et la largeur du
réseau dans son ensemble, tout en maintenant les couts de calcul constant. Cela a été accompli
grâce à une conception modulaire, impliquant l’empilement de blocs de couches convolutives.
Chaque bloc contient un certain nombre de couches convolutives.
III.5. Critères d’évaluation du CNN
Dans cette partie, on va s’intéresser à comment les modèles de prédictions en Machine Learning
sont évalués, et plus précisément dans le cas de la classification. L’étape d’évaluation s’avère
être une étape importante dans la démarche de choix du modèle, d’où la nécessité d’avoir un
outil (matrice de confusion) de précision qui nous permet de mener cette étape en bonne et due
forme.
III.5.1. La précision
La précision du modèle est une métrique de performance du modèle de classification
d'apprentissage automatique qui est définie comme le rapport des vrais positifs et des vrais
négatifs à toutes les observations positives et négatives. En d'autres termes, la précision nous
P a g e | 27

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.

II.5.2. Matrice de Confusion


La Matrice de confusion est généralement utilisée dans le domaine du Machine Learning et plus
précisément dans les problèmes de type classification statistique, également appelée matrice
d’erreur. Cette matrice permet de vérifier la performance d’un classifieur, ainsi que la confusion
qui règne entre les différentes classes, sur un ensemble de données de test dont les vraies valeurs
sont connues.
Elle résume et englobe les prédictions effectuées par le modèle de classification, les
informations qu'elle nous transmet, nous permettent de voir la confusion entre les classes, et de
distinguer les erreurs commises par ses dernières, ainsi que leurs natures.

Tableau III.1: Matrice de Confusion


L'exemple ci-dessus montre une matrice de confusion dans le cas d’une classification binaire
(2 classes seulement).
Au sein de la matrice de confusion, on retrouve les thèmes suivants:
 Positif (P): l'observation est positive.
 Négatif (N): l'observation n'est pas positive.
 Vrai Positif (TP): l'observation est positive, et elle est prédite comme telle.
 Faux Négatif (FN): l'observation est positive, mais a été prédite négative.
 Vrai Négatif (TN): l'observation est négative, et elle est prédite comme telle.
 Faux Positif (FP) : l'observation est négative, mais elle est prédite positive.
III.6. Quelques applications du CNN
Des applications du Deep Learning sont utilisées dans divers secteurs qui sont :
P a g e | 28

 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

CHAPITRE IV : IMPLEMENTATION ET INTERPRETATION


DES RESULTATS [14, 12, 8,7, 24, 25, 26,27,28]
IV.1. Introduction
Dans ce chapitre, on va parler de la conception de notre modèle. Par la suite on va évaluer le
modèle avec l’architecture VGG16, et on appliquera le modèle sur la base d’un jeu des données.
Pour cela, on va travailler avec le langage de programmation python, des bibliothèques comme
Tensorflow et Keras pour l’apprentissage et la classification.

IV.2. Présentation des outils


IV.2.1. Kaggle
Kaggle est une filiale de Google qui fonctionne comme une communauté pour les scientifiques
et les développeurs de données. Kaggle offre un environnement Jupyter
Notebooks personnalisable et sans configuration. Sont accessibles gratuitement des GPU et une
grande quantité de données et de codes publiés par la communauté.
IV.2.2. Langage de programmation python
Python est un langage interprété de haut niveau, c’est aussi un langage permettant le multi
paradigme, ce qui signifie qu’on peut utiliser plusieurs paradigmes au sein même du langage
dont l’impérative (procédurale, orienté objet), et déclarative (Fonctionnel).
Python a connu ses dernières années une hausse fulgurante au sein des sondages des langages
les plus utilisés du moment, et l’une des principales raisons est son utilisation par la majorité
de la communauté des développeurs pour le machine Learning et le deep Learning.
Python est simple d’utilisation et rapide il offre une large palette de bibliothèques pour le
traitement, l’exploration, la visualisation des données, ainsi que l'entraînement et l’évaluation
des modèles.
IV.2.3. Tensorflow
Tensorflow est un outil open source lancé en 2015 par Google pour aider les développeurs à
concevoir, créer et entrainer des modèles de deep Learning. Tensorflow est multiplateforme, il
fonctionne sur les GPU, les CPU (central processing unit) et même les TPU (TensorFlow
Processing Unit) qui sont des matériels spécialisés pour effectuer des calculs sur des tenseurs
et permettant ainsi de faire profiter d’une importante accélération.
La particularité de Tensorflow est qu’il permet de représenter les calculs sous la forme d’‟un
graphe d’exécution: Les données dans Tensorflow sont représentées par des tenseurs qui sont
des tableaux multidimensionnels.
P a g e | 30

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.3.Présentation des résultats


IV.3.1.Modele crée
VGG16 est une variante du modèle VGG qui se compose de 13 couches convolutionnelles et 3
couches entièrement connectée. Il est très attrayant en raison de son architecture très uniforme.
Il n'a que des convolutions 3x3, mais beaucoup de filtres. La configuration de poids du VGGNet
est accessible au public et a été utilisée dans de nombreuses autres applications et défis en tant
qu'extracteur de fonctionnalités de base.
L’architecture du modèle que nous présentons est composée de treize couches de convolution,
cinq couches et deux couches entièrement connectée suivi d’une couche de sortie avec une
fonction d’activation softmax de 1000 noeuds. Après ces couches du VGG vient le flatten qui
engendre un vecteur de caractéristiques issu des convolutions à une dimension de 25088 pixels.
Après le flatten vient le dropout qui met la sortie de certains neurones à zéro de manière
aléatoire. La dernière couche a un neurone où la fonction d’activation est un softmax qui permet
de calculer la distribution de probabilité des classes
P a g e | 32

Figure IV.1 : Configuration du modèle

IV.3.2. Entrainement du modèle


Nous avons entrainé notre modèle sur 30 époques et nous avons obtenu les résultats suivant : 9
7.68% de précision et 14.85% de perte.
P a g e | 33

Figure IV.2: Entrainement du modèle

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

Figure IV.3 : Classification des données


P a g e | 34

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.

Figure IV.4: Courbe de précision


2. Courbe de perte
La courbe bleue représente la perte de notre modèle sur les données d’entrainement, tandis que
la courbe orange donne la perte sur les données de validation. La figure suivante représente la
diminution de l’erreur d’apprentissage et de validation avec le nombre d’époque

Figure IV.5: Courbe de perte


P a g e | 35

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.

Figure IV.6: Matrice de confusion sur les données de validation

Chaque ligne du tableau correspond à une classe prédite, et chaque colonne correspond à une
classe réelle.
P a g e | 36

Figure IV.7: Matrice de confusion sur les données de test

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 %.

Figure IV.8: test de la précision du modèle


III.3.6. Interprétation de résultats
Architecture Nombre Précision Précision Erreur
d’époque apprentissage sur test
Couche de Couche Couche
convolution de entièrement
pooling connecté
Modèle 13 5 3 30 97% 70% 14%

Tableau IV.1: Interprétation des résultats


P a g e | 37

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/

Vous aimerez peut-être aussi