0% ont trouvé ce document utile (0 vote)
59 vues59 pages

Pfe 1

Transféré par

Mohamed Grine
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
59 vues59 pages

Pfe 1

Transféré par

Mohamed Grine
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Introduction générale :

L’industrie mécanique a une grande importance dans le secteur économique, elle


participe à l’amélioration de ce dernier mais aussi au développement des moyens de
production.
Un des piliers de cette industrie est la fabrication mécanique, où on trouve plusieurs
techniques utilisées dans ce processus pour l’obtention de la pièce désirée, tel que la fusion ou
on trouve le moulage. Comme n’importe processus le moulage n’est pas parfait, et pendant
cette opération on peut rencontrer plusieurs problèmes qui affectent le produit final (les
soufflures, les bavures, les défauts de retrait...) et qui nous obligent à contrôler chaque pièce
produite pour l’éliminer.
Traditionnellement, la détection des défauts repose sur des inspections visuelles, et des
techniques de contrôle non destructif. Ces méthodes prennent beaucoup de temps et sont
limitées par la précision de l’œil humain.
Avec l’évolution rapides des technologies de l’intelligence artificielle, et les réseaux
de neurones convolutifs (CNN) en particulier, ça nous a permettre d’améliorer la détection
automatique et précise des défauts de moulage.
Ce mémoire se concentre sur l'application des réseaux de neurones convolutifs pour la
détection des défauts de moulage des roues de pompes. L'objectif principal est de concevoir et
d'entraîner un modèle de CNN capable d'identifier automatiquement les défauts à partir
d'images des roues moulées. Les résultats attendus de cette recherche incluent une
amélioration significative de la précision de détection, une réduction du temps d'inspection et
une standardisation des processus de contrôle qualité.
Ce mémoire est subdivisé en 3 chapitres :
Dans le premier chapitre : Nous allons parler des défauts qui surviennent lors du
moulage, leurs causes, et comment on peut les éviter.
Dans le deuxième chapitre : Nous nous intéresseront aux notions d’intelligence
artificielle, d’apprentissage automatique, et d’apprentissage profond, tout en mentionnant les
relations entre les 3. Nous allons aussi définir le réseau de neurones convolutifs (CNN), ses
caractéristiques, et ses architectures.
Dans le dernier chapitre : Nous le consacrerons à la partie pratique qui consiste à faire
la classification des images des roues à l’aide d’un CNN, et à la fin nous terminerons par une
conclusion générale.
CHAPITRE I : Roues de pompes submersibles : procédés et défauts de moulage.

1 Introduction :

La roue de la pompe submersible est l’un des principaux éléments qui garantit sa fiabilité et
des bonnes performances. Elle est généralement fabriquée par moulage de métal, qui consiste
à verser du métal en fusion dans un moule pour lui donner la forme souhaitée. Cependant, le
moulage peut entraîner une série de défauts qui affectent les performances et la durée de vie
de la roue de la pompe.

2 La pompe submersible

La pompe submersible est une pompe destinée à être immergée dans le liquide qu'elle va
pomper. Cela augmente la praticité, l'efficacité et l'utilisations de ces pompes, De nombreuses
pompes submersibles dans l’industrie pétrolière et gazière fonctionnent selon le principe du
pompage submersible électrique (ESP). Il s'agit d'un moyen économique d'extraire de grandes
quantités de fluide des puits profonds. Généralement, ces pompes ont un moteur
hermétiquement scellé qui est couplé au corps de la pompe. Le boîtier hermétique, qui est
généralement rempli d’huile, entoure le moteur et empêche les liquides susceptibles de le
court-circuiter et de causer des dommages. [1]

Figure: La pompe submersible

Les principaux éléments d'une pompe submersible sont les suivants :

 Moteur : Le moteur est le composant principal qui entraine les impulseurs.


CHAPITRE I : Roues de pompes submersibles : procédés et défauts de moulage.

 Impulseur : c’est l’élément responsable de la création de la force centrifuge pour


propulser le fluide de l'entrée à la sortie, générant l'action de pompage.

Figure : Impulseur
 Diffuseur : Le diffuseur est un composant fixe qui convertit progressivement le flux
rapide et faible pression de l'impulseur en un flux à haute pression en augmentant la
surface de flux.
 Arbre de rotation : le compensant qui transmet le mouvement de rotation du moteur
vers l’impulseur.

Les roues des pompes submersibles, sont généralement fabriquées par une opération de
moulage en métal ou de moulage en sable. Cette technique comporte un certain nombre de
procédures cruciales.[1]

 Préparation des moules : La première étape de la production d'une roue consiste à


préparer les moules pour la coulée.
 Le choix du matériau : Des matériaux tels que l’acier inoxydable ou le plastique sont
couramment utilisés à cause de leur durabilité et leur résistance à la corrosion.
 Processus de moulage : Les roues peuvent être moulées en utilisant des méthodes telles
que le moulage en sable ou le moulage en moule métallique. Ces procédés consistent à
verser du métal en fusion dans des moules préparés à cet effet pour créer la forme de la
roue.
 Équilibrage : L'équilibrage des roues est essentiel pour assurer un fonctionnement en
douceur et éviter les vibrations qui peuvent entraîner une inefficacité de la pompe ou des
dommages.
 Tests et Contrôles Qualité : Après leur fabrication, les roues subissent des tests de
qualité pour assurer qu'elles répondent aux normes de performance.
L’opération de test de qualité est une étape principale du circuit de fabrication des roues, pour
détecter les défauts de fabrications, pour garantir la fiabilité et pour réduire les risques, ce qui
CHAPITRE I : Roues de pompes submersibles : procédés et défauts de moulage.

contribue à la satisfaction des clients et à la réussite globale de l'entreprise. Mais, cette


opération est trop couteuse, dans les cas normaux, les entreprises utilisent un élément humain
pour faire l’inspection des défauts, mais son rendement est un peu faible et cela peut imposer
des charges financières supplémentaires à l’entreprise. C’est pour ça on a développé un
algorithme CNN basé sur l’apprentissage profond pour faire une auto-détections des défauts
de fabrication pour ces roues.

3 Les défauts de moulage


La porosité des gaz, les défauts de retrait, les problèmes métallurgiques, les problèmes de
moulage des métaux, les défauts des matériaux de moulage et les défauts de forme sont les
principaux défauts dont on va illustrer:

Défauts de porosité : ce sont des défauts de moulage sous pression qui sont généralement
difficiles à repérer. Ils sont des petits trous, des vides ou des poches d'air sur le métal. Ils
apparaissent lorsqu’il y a du gaz emprisonné dans le métal au cours du refroidissement. En
conséquence, des espaces peuvent se produire au sommet de la matrice ou le moule peut se
remplir trop lentement. Ainsi, le composant résultant peut avoir une résistance structurelle
affaiblie.

Figure : porosités du gaz

On peut voir qu’il y a trois types de porosités :

 Trous d'épingle : Ce sont de petits trous qui se produisent dans les parties supérieures
d'une pièce moulée sous pression.
 Soufflages : Ce sont des trous plus grands qui se produisent à l'intérieur de la pièce
moulée.
CHAPITRE I : Roues de pompes submersibles : procédés et défauts de moulage.

 Trous ouverts : Ce sont des types de soufflures qui apparaissent à la surface de la


pièce. Ils se produisent en raison du piégeage d'air lorsque le métal est coulé dans le
moule.
 Retrait (Retassure) : Lorsque le métal fendu se refroidit et se contracte, il crée des
espaces ou des vides dans le métal. Ce phénomène peut affaiblir la structure. Ces
défauts peuvent être évités en régulant les taux de refroidissement et d'autres
paramètres de coulée. [2]

Figure: Défaut de retrait

 Retrait ouverts : Des défauts peuvent apparaître à cause des tensions internes causées
par le refroidissement inégal du matériau au cours du processus de solidification.
Lorsque le matériau se contracte pendant le refroidissement, les retraits ouverts
prendre la forme d’une fissuration superficielle sur pièce moulée. [3]
 Retrait fermés : Contrairement avec les défauts de retrait ouverts, les défauts de
retrait fermés sont des trous intérieurs créés par la contraction inégale du métal
pendant la solidification.

Les causes
Un certain nombre de raisons expliquent l'apparition de défauts de retrait fermés lors de la
coulée, notamment [5] :
 Une mauvaise conception de la structure de coulée.
 Des contraintes inégales pendant la solidification peuvent entraîner des défauts de
retrait fermés si la technique de coulée n'est pas adaptée.
 Taille, nombre ou emplacement insuffisants des fers de refroidissement.
 Composition chimique du métal liquide.
 Température de coulée imprécise élevée ou trop basse.
Pour les prévenir, il est important de bien contrôler les paramètres de moulage comme la
température, la conception du moule et l'alimentation en métal liquide afin d'assurer une
solidification uniforme.
CHAPITRE I : Roues de pompes submersibles : procédés et défauts de moulage.

Figure: Types des retraits

Larmes Chaudes : Les déchirures à chaud sont un type spécifique de défaut de coulée qui
apparaît sous la forme de fractures superficielles qui sont provoquées par des tensions de
traction internes qui apparaissent lorsque le métal se solidifie à une température élevée.
La raison pour laquelle elles sont appelées fissures « à chaud » est que, contrairement aux
fractures « à froid », qui apparaissent après refroidissement, elles prennent naissance alors
quand le métal est encore chaud.
En raison des pressions thermiques extrêmes que les moules subissent tout au long du
processus de coulée sous pression de l'aluminium, ce défaut est très fréquent. [6]

Figure: Larmes Chaudes

Arrêts À Froid : Une soudure à froid est un vide ou un joint créé lorsque la fusion complète
de deux flux de métal en fusion n'est pas réalisée. Des vides ou des joints non fusionnés, par
exemple, peuvent être présents dans un résultat de moulage. [2]
CHAPITRE I : Roues de pompes submersibles : procédés et défauts de moulage.

Figure: Arrêts À Froid

Évier : Un effet de pression sur la surface de coulée qui n'est pas une réplique exacte de la
conception du moule est appelé un creux. Lorsqu'il y a un creux sous la surface, des piqûres
apparaissent sur la surface de coulée. Ces indentations sont observées sur la surface du métal
à proximité des régions aux parois épaisses. Les creux reflètent la lumière, il est donc facile
de repérer visuellement ces défauts de la surface de coulée. [4]

Figure: Évier

Coupes et Lavages : Lorsque le métal excédentaire est laissé sur place après que le métal en
fusion a enlevé une partie du sable de moulage, il en résulte des coupures et des lavages.
Imaginez qu'une vague puissante retire le sable de la plage, laissant derrière elle des zones
irrégulières. Les coupures et les lavages sont indiqués par des zones basses sur la surface de
moulage, en particulier si elles sont inclinées dans la direction de la plus grande pression du
métal liquide. [2]

Lors de la coulée, le métal s'écoule trop rapidement. Dans ce cas, si le système


d'injection n'est pas correctement construit, le sable ne peut pas résister ou le flux de métal
devient irrégulier. En outre, un sable de moulage périmé ou de mauvaise qualité perd
progressivement sa résistance. [2]
CHAPITRE I : Roues de pompes submersibles : procédés et défauts de moulage.

Pour éviter cela, il faut utiliser du sable de moulage du plus haut calibre et le
renouveler régulièrement. Optimiser la conception du système d'obturation pour réguler la
vitesse d'écoulement du métal. La résistance au sable peut être augmentée en utilisant des
matériaux de moulage plus résistants à la corrosion, tandis qu'un flux de métal uniforme peut
être assuré en ajustant les conditions de moulage. [2]

Gouttes : Les défauts de moulage "gouttes" se produisent lorsqu'une goutte de métal en


fusion s'accroche à la paroi du moule pendant la coulée et se solidifie avant le reste de la
coulée. Ce phénomène peut entraîner des problèmes de qualité dans la pièce moulée,
nécessitant une attention particulière pour éviter ces défauts lors du processus de moulage. [7]

Inadéquation (Décalages) : Sont des défauts de moulage qui se présentent en raison d'un
mauvais alignement des deux parties, inférieure et supérieure, du moule. [4]

Figure: Décalage

Il existe deux catégories de désalignement :

 Le déplacement du moule : qui prend souvent la forme d'un déplacement horizontal, est
causé par le mauvais alignement du moule. [4]
 Le déplacement du noyau : un déplacement vertical provoqué par un noyau mal aligné.
[4]

Les goupilles de boîte desserrées, les mauvaises goupilles de modèle ou le placement


incorrect des moitiés supérieures et inférieures du moule sont les raisons principales. [4]
Pour résoudre ce problème, il faut utiliser les boîtes de moule et les goupilles de verrouillage
appropriées, et s'assurer que la plaque à motifs est montée et alignée correctement. [4]
CHAPITRE I : Roues de pompes submersibles : procédés et défauts de moulage.

4 Conclusion :
Le moulage des métaux est une opération difficile qui peut produire différents types de
défauts de surface. Lorsque ces défauts sont mieux compris, il est plus facile de contrôler la
qualité de la fonte. Alors que ces défauts peuvent être normaux dans certaines situations, les
professionnels de moulage sous pression expérimentés sont à même de les prévenir ou de les
corriger. C'est la raison pour laquelle il est nécessaire de travailler avec un partenaire qui
propose des inspections de contrôle de la qualité
CHAPITRE II. Apprentissage profond et traitement
d'images
NB

1 Introduction

L'intelligence artificielle, ou IA, est le terme utilisé pour décrire la façon dont les machines,
en particulier les systèmes informatiques, peuvent simuler les processus de l'intelligence
humaine. Ces processus comprennent le raisonnement (l'utilisation de règles pour parvenir à
des approximations ou à des conclusions fermes), l'autocorrection et l'apprentissage
(l'acquisition de connaissances et de règles pour les appliquer). L'intelligence artificielle (IA)
englobe plusieurs approches telles que l'apprentissage automatique, qui entraîne des
algorithmes sur des données pour générer des prédictions ou des jugements, et l'apprentissage
profond, qui est un sous-ensemble de l'apprentissage automatique qui utilise des réseaux
neuronaux multicouches pour évaluer les données. L'IA est utilisée pour automatiser les
opérations, fournir des informations et accroître l'efficacité dans une variété d'industries, y
compris les soins de santé, la banque, les transports et le divertissement.

Figure : la relation entre le AI, ML et DL


CHAPITRE II. Apprentissage profond et traitement
d'images
5 Apprentissage automatique (Machine Learning)
Un sous-ensemble de l'intelligence artificielle (IA) appelé Machine Learning (ML) se
concentre sur la création des systèmes informatiques capables d'apprendre à partir des
données. Au fil du temps, les applications logicielles peuvent être plus performantes grâce à la
grande variété d'approches que l'apprentissage automatique incorpore. Les algorithmes utilisés
dans le Machine Learning (ML) sont formés pour identifier des modèles et des corrélations
dans les données. Comme le montrent les applications récentes utilisant Machine Learning
(ML), telles que ChatGPT, Dall-E 2 et GitHub Copilot, elles exploitent les données
historiques pour créer des prédictions, catégoriser les informations, regrouper les points de
données, réduire la dimensionnalité et même aider à développer de nouveaux matériaux. [10]

6 Fonctionnement

La première étape du processus d'apprentissage automatique consiste à introduire des données


de formation dans l'algorithme choisi. L'algorithme final de Machine Learning (ML) est
développé à l'aide de données d'entraînement, qui peuvent être connues ou inconnues. Le type
de données d'apprentissage introduites a un effet sur l'algorithme. Pour vérifier que
l'algorithme de Machine Learning (ML) fonctionne correctement, de nouvelles données
d'entrée sont introduites. Ensuite, les résultats et les prévisions sont comparés les uns aux
autres. L'algorithme est entraîné à plusieurs reprises jusqu'à ce qu’on obtienne le résultat
souhaité si les prévisions et les résultats ne correspondent pas. En conséquence, l'algorithme
de Machine Learning (ML) peut s'entraîner en continu et générer la meilleure réponse,
devenant progressivement plus précis au fil du temps. Le Machine Learning (ML) étant très
complexe, on peut le classer en deux catégories : l'apprentissage supervisé et
l'apprentissage non supervisé. Chacune d'entre elles utilise différents types de données et a
un objectif et une action spécifiques qui donnent des résultats. L'apprentissage supervisé
représente environ 70 % de l'apprentissage automatique, tandis que l'apprentissage non
supervisé représente les 10 à 20 % restants. L'apprentissage par renforcement occupe l'espace
restant. [11]

7 Apprentissage supervisé

Les données de formation dans l'apprentissage supervisé sont des données connues ou
marquées. Comme les données sont connues, le processus d'apprentissage est supervisé, ce
qui signifie qu'il est guidé vers la réussite. L'algorithme de machine Learning traite les
CHAPITRE II. Apprentissage profond et traitement
d'images
données entrantes, qui sont ensuite utilisées pour former le modèle. Une fois que le modèle a
été formé à l'aide des données connues, il est possible de l'alimenter avec des données
inconnues afin d'obtenir un résultat différent. [11]

8 Apprentissage non supervisé

Les données de formation dans l'apprentissage non supervisé sont non identifiées et non
étiquetées, ce qui indique que personne n'a examiné les données précédemment. L'appellation
« non supervisé » vient de l'impossibilité de diriger les données d'entrée de l'algorithme en
absence des données connues. Le modèle est formé à l'aide de ces données, qui sont
introduites dans le processus de machine Learning. Le modèle formé recherche un modèle et
réagit en conséquence. Ici, l'algorithme semble souvent de tenter à déchiffrer le code d'une
manière similaire à celle de la machine Enigma, mais c'est un ordinateur et non l'esprit
humain
qui

effectue le décodage. [11]

Figure. Apprentissage supervisé vs non-supervisé


CHAPITRE II. Apprentissage profond et traitement
d'images
9 Apprentissage par renforcement

À la manière des formes conventionnelles d'analyse des données, l'algorithme recueille ici des
données par essais et erreurs avant de déterminer l'activité qui rapporte le plus de
récompenses. L'apprentissage par renforcement se compose de trois éléments principaux : les
actions, l'environnement et l'agent. L'environnement est tout ce avec quoi l'agent interagit,
les actions sont ce que l'agent exécute et l'agent est l'apprenant ou le décideur. Un agent prend
des décisions qui optimisent la récompense attendue sur une certaine période de temps, c'est
l'apprentissage par renforcement. Lorsque l'agent opère dans un cadre politique solide, c'est la
chose la plus facile à accomplir. [11]

Figure .L'apprentissage par renforcement

10 Apprentissage profond (Deep learning)


Un domaine de machine Learning appelé « Deep Learning » s'appuie sur des réseaux
neuronaux artificiels. Il est capable de reconnaître des liens et des modèles complexes dans les
données. Il n'est pas nécessaire de tout programmer explicitement dans le Deep Learning. En
raison de la disponibilité d'énormes ensembles de données et des progrès de la puissance de
calcul, le Deep Learning a gagné en popularité ces dernières années. Ces réseaux neuronaux,
qui sont conçus pour apprendre à partir de grandes quantités des données, s'inspirent de la
composition et du fonctionnement des neurones du cerveau humain. [12]

11 Fonctionnement
Les réseaux neuronaux artificiels, également connus sous le nom de réseaux neuronaux de
Deep Learning, utilisent un mélange de poids, de biais et d'entrées de données pour simuler le
fonctionnement du cerveau humain. Ensemble, ces composants permettent une identification,
une classification et une description précises des éléments dans les données. Les « deep neural
networks » sont constitués de plusieurs couches de nœuds reliés entre elles, chacune s'appuie
CHAPITRE II. Apprentissage profond et traitement
d'images
sur la précédente afin d'améliorer et d'optimiser la classification ou la prédiction. La
propagation vers l'avant est le terme utilisé pour décrire cette évolution du réseau basée sur le
calcul. Les couches visibles d'un « deep neural network » sont les couches d'entrée et de
sortie. La prédiction ou la classification finale est produite au niveau de la couche de sortie
après que le modèle de Deep Learning a déjà traité les données de la couche d'entrée. Mais les
techniques de Deep Learning sont assez compliquées, et différents types de réseaux
neuronaux sont utilisés pour différents types de problèmes ou d'ensembles de données, Par
exemple :
 Les réseaux neuronaux artificiels (ANN)
 Les réseaux neuronaux convolutionnels (CNN)
 Les réseaux de neurones récurrents (RNN)

12 Apprentissage par transfert (Transfer Learning)


Le « Transfer Learning » est le processus d'application de la formation préalable d'un
modèle de machine Learning à une nouvelle tâche connexe. Par exemple, vous pouvez utiliser
les informations que le modèle a appris au cours de la formation pour identifier d'autres
choses comme des lunettes de soleil si vous avez formé un classificateur de base pour
déterminer si une photo comporte un sac à dos. Essentiellement, l'objectif de « transfert
Learning » est d'utiliser les connaissances acquises dans un travail pour améliorer la
généralisation dans un autre travail. Nous déplaçons les poids appris par un réseau à la « tâche
A » vers une nouvelle tâche appelée « tâche B ». À cause de l'énorme puissance de calcul qu'il
requiert, le transfer learning est généralement utilisé dans les applications de vision artificielle
et de traitement du langage naturel, telles que l'analyse des sentiments. [14]

a. Fonctionnement
Le processus général de « Transfer Learning » est comme suit :

Modèle pré-entraîné : Commencez par un modèle qui a déjà fait l'objet d'une
formation approfondie sur un ensemble de données important pour un travail particulier. Ce
modèle a été régulièrement entraîné sur de grands ensembles de données et a trouvé des
caractéristiques et des modèles communs qui s'appliquent à de nombreuses tâches
comparables. [14]

Modèle de base : Le modèle pré-entraîné est appelé modèle de base. Il se compose de


couches qui ont appris les représentations hiérarchiques des caractéristiques en utilisant les
données d'entrée. [14]
CHAPITRE II. Apprentissage profond et traitement
d'images
Couches de transfert : Identifier un groupe de couches dans le modèle pré-entraîné
qui enregistre des données générales pertinentes à la fois pour le nouveau travail et pour le
travail précédent. Ces couches sont généralement situées vers le haut du réseau, car elles sont
susceptibles d'apprendre des informations de bas niveau. [14]

Ajustement : Réentraînement des couches sélectionnées avec l'ensemble de données


du nouveau défi. Ce processus est ce que nous appelons la mise au point. L'objectif est de
préserver les informations de pré-entraînement tout en permettant au modèle d'ajuster ses
paramètres afin de mieux répondre aux exigences de la mission en cours. [14]

13 Les réseaux neuronaux convolutionnels (CNN)


Le réseau neuronal convolutif, ou CNN, est un type de réseau neuronal spécialisé
conçu pour fonctionner avec des données d'images bidimensionnel, même s'il peut être utilisé
avec des données unidimensionnelles et tridimensionnelles. Ces réseaux sont capables
d'apprendre à extraire des caractéristiques locales, autrement dit des structures qui se répètent
dans l'image. Le cœur du réseau neuronal convolutif est la « couche convolutive ». Celle-ci
effectue une opération appelée « convolution ».

a. La vision artificial
Le nombre moyen de neurones dans le cortex visuel primaire humain adulte dans
chaque hémisphère a été estimé à environ 140 millions. Le cortex visuel a de petites parties de
cellules qui sont sensibles à des places spécifiques du champ visuel. Certaines cellules
neuronales individuelles du cerveau ne répondent que dans la présence des bords d'une
CHAPITRE II. Apprentissage profond et traitement
d'images
certaine orientation. Par exemple, certains neurones s’activent lorsqu'ils sont exposés à des
bords verticaux et d'autres lorsque les bords horizontaux ou diagonaux sont affichés.

Figure 1 : Comment l’ordinateur voit les images RGB

En premier lieu, L'ordinateur voit l'image comme une collection d'intensités de


couleur appelée un pixel, dans le cas d'une image colorée RGB, chaque pixel aura trois
valeurs Rouge, Vert et Bleu, en conséquence, l’image sera une matrice avec trois dimensions
Largeur, Hauteur et Profondeur (profondeur = 3 dans les images RGB).

En second lieu, il est préférable d’utiliser le réseau de neurones artificiels pour la


classification des images au lieu de la méthode classique de neural networks (Multilayer
perception MLP), dans le CNN une petite partie des neurones d’une couche est connectée à la
couche qui la précède, contrairement au MLP qui est un network complètement connecté.

b. Les inconvénients du MLP :


Elle utilise un neurone pour chaque input (un pixel dans une image est multiplié par
trois dans le cas de RGB). Le nombre des poids devient rapidement ingérable pour les images
qui ont une grande taille, ex : pour une image de 224 x 224 pixel avec une profondeur de 3 il
y a environ 150000 weights qui doivent être trainés par le modèle. Par conséquent,
l’entrainement devient plus difficile est un overffiting peut se produire.

L’architecture d’un CNN :


CHAPITRE II. Apprentissage profond et traitement
d'images
Figure 2 : Basic CNN architecture

c. La couche d’entrée
Cette couche est conçue pour fixer la taille des images que l’on cherche à classifier,
ces images sont représentées par une matrice 3D (largeur × hauteur × profondeur), et aussi la
redimensionner si nécessaire. Dans le MLP on est obligé de transformer les dimensions de
l’image vers un vecteur avant de l’introduire à la couche d’entrée, cependant dans le CNN on
peut les gardes sous forme d’une matrice. 15

d. La couche convolutive
Les réseaux neuronaux à convolution sont particulièrement bien adaptés à la
reconnaissance d'images, car la convolution est une méthode mathématique simple qui est
souvent utilisée dans le traitement des images. Mathématiquement, la convolution représente
une opération qui combine deux fonctions pour en produire une troisième, reflétant comment
l'une influence l'autre lorsqu'elles se chevauchent et se déplacent. Concrètement, cela signifie
que pour chaque valeur de 𝑥, vous prenez une fenêtre glissante de (𝑥), la superposez sur (𝑥),
multipliez les valeurs des deux fonctions à chaque point où elles se chevauchent, puis intégrez
(ou sommez) ces produits pour obtenir la valeur de (𝑓∗𝑔)(𝑥).


(f∗g)( x )=∫ ❑ f (τ)⋅ g(x−τ)dτ ……………………………………………….5.1
−∞

Cette équation représente l’intégrale de la multiplication des deux fonctions f (τ ) et


g(x−τ ), où τ est une variable d'intégration. Le filtrage est similaire à la convolution. Une
image pouvant être considérée comme un tableau, nous déterminons la taille d'une fenêtre qui
entourera l'ensemble de l'image. La fenêtre sera placée en haut à gauche de l'image au début
de la convolution. À partir de là, elle se déplacera vers la droite d'un nombre prédéterminé de
carrés (appelé pas), puis d'un pas vers le bas lorsqu'elle atteindra la fin de l'image, et ainsi de
suite, jusqu'à ce que le filtre ait traversé toute l'image 15 :
CHAPITRE II. Apprentissage profond et traitement
d'images

Figure 3: convolution par filtrage

e. Les filtres (kernels)


Les filtres appliqués dans la convolution sont des petites matrices des poids (weights)
d’une forme cubique qui glisse sur les différentes parties de l’image et fait la multiplication
avec chacune pour nous donner un output d’un seul pixel. 16

Figure 4: application des filtres (kernels)

f. Padding
Dans les premières couches de notre réseau on veut conserver autant d’informations
sur le volume d’entrée original pour qu’on puisse extraire toutes fonctionnalités. Pour faire
passer le filtre sur toute l’image il faut remplir les zones autour avec deux pixels nuls. Durant
la convolution, la taille de la map de la sortie est déterminée par la taille des donnes d’entrée,
CHAPITRE II. Apprentissage profond et traitement
d'images
la taille du filtre et le stride. Si on applique un kernel sur la matrice d’entrée, la matrice de
sortie sera plus petite que celle de l’input. Cela peut causer des pertes d’informations dans les
bordures de l’image. Pour extraire autant d’informations on applique le padding. Le padding
est une technique utilisée pour garder les dimensions de l’image après la convolution, il s’agit
d’ajouter des pixels nuls autour des bordures de nos inputs. Nombre des pixels ajoutés
dépends de la taille du kernel et le résultat qu’in souhaite obtenir de cette opération. 16

Le Figure 5 : Le padding

g. Stride
Stride est un paramètre qui contrôle le glissement des filtres sur l’image d’entrée.
Dans la majorité des cas le filtre glisse par un élément à la fois, mais des fois il peut se
déplacer par plusieurs éléments pour avoir un output plus simple. Cette méthode est bénéfique
lors le kernel est d’une taille importante et il peut capturer beaucoup d’informations des
images.16

Figure 6 : La méthode de stride


CHAPITRE II. Apprentissage profond et traitement
d'images
h. Pooling
La couche du pooling est souvent placé entre deux couches de convolutions est-elle est
connecté à un certain nombre de neurones des sorties des couches précédentes. Le pooling
aussi appelé sous-échantillonnage est une opération qui consiste à réduire la taille des images
quand elle est trop large tout en préservant ses caractéristiques importantes. La couche
de pooling permet de réduire le nombre de paramètres et de calculs dans le réseau. On
améliore ainsi l'efficacité du réseau et on évite le sur-apprentissage. Il existe plusieurs types
de pooling mais le max et l’average sont les plus populaires où les valeurs maximales et
moyennes sont prises respectivement.17

i. Maxpooling :
Le max pooling est une opération qui sélectionne la valeur maximale de la partie de la
carte des caractéristiques couverte par le filtre. Donc, la sortie après cette couche de pooling
contient les éléments les plus grands de la carte des caractéristiques précédente.

Hauteur de sortie :

H ⁡∈−K + 2 P
H out ❑=⌊ ⌋ +1
S
…………………………………………………………..5.2

Largeur de sortie :

W ¿❑−K +2 P
W out ❑=⌊ ⌋ +1…………………………………………………….......5.
S
3
CHAPITRE II. Apprentissage profond et traitement
d'images

Figure 7 : Maxpooling

j. Averagepooling :
Le average pooling est une opération qui calcule la moyenne des éléments présents
dans une partie de la carte des caractéristiques couverte par le filtre.

Figure 8 : Averagepooling

k. Global pooling
Global pooling est une opération qui change la dimension du 3d en 1D, donc il a un
seul effet sur chaque carte de caractéristiques, soit avec le max-pool ou l’average-pool. Il est
généralement utilisé à la fin de la convolution pour avoir une forme où on peut appliquer la
couche dense pour éviter l’utilisation du flattening. `
CHAPITRE II. Apprentissage profond et traitement
d'images
l. Les fonctions d’activation
La fonction d'activation est une fonction mathématique appliquée à un signal de sortie
d'un neurone artificiel. Le terme de fonction d'activation vient de l'équivalent biologique «
potentiel d'activation », un seuil de stimulation qui, une fois atteint, déclenche une réponse du
neurone. La fonction d'activation est une fonction non linéaire.

 ReLu:

Le ReLu (Rectified Linear Units) est une fonction réelle non-linéaire définie par :

f (x)=max(0 , x )………………………………………………………………….5.4

La couche de correction ReLU remplace donc toutes les valeurs négatives reçues en
entrées par des zéros. Elle joue le rôle de fonction d'activation.

Figure 9 : Le ReLu

Figure 10 : graphe de ReLu


 Sigmoïde
CHAPITRE II. Apprentissage profond et traitement
d'images
La fonction Sigmoïde est la fonction d’activation utilisée en dernière couche d’un

réseau de neurones construit pour effectuer une tâche de classification binaire. La fonction
d’activation sigmoïde permet d’obtenir un résultat ambivalent, donnant une indication sur
deux classes à la fois, Elle donne une valeur entre 0 et 1.

Figure 11: la fonction Sigmoïde


 Softmax

Elle est utilisée pour dériver la distribution de probabilité d'un ensemble de nombres
dans un vecteur d'entrée. La sortie d'une fonction d'activation Softmax est un vecteur dans
lequel ses ensembles de valeurs représente la probabilité d'occurrence d'une classe ou d'un
événement. Les valeurs dans le vecteur s'additionnent toutes à 1.

On peut écrire ça fonction comme suit :

zi
e
Softmax ( z ) = ………………………………………………………………….5.5
∑ ej

Pour i=1, 2,3,…..n

Figure 12: La fonction softmax


CHAPITRE II. Apprentissage profond et traitement
d'images

m. Flattening :
Une fois que l'image est convolue et max regroupés, la procédure de Flattening
(Aplatissement) consiste à tenir essentiellement les éléments dans une carte d'entités groupés
et les transformés sous forme vectorielle (Code CNN). Cela devient la couche d'entrée pour la
couche entièrement connectée

Figure 13 : Flattening

n. La couche entièrement connectée (FC) :


Après plusieurs couches de convolution et de sous-échantillonnage, le raisonnement
de haut niveau dans le réseau neuronal se fait via la couche entièrement connectée

Cette couche a des connexions vers toutes les sorties de la couche précédente, et elle
est considérée comme la dernière dans un CNN.

La dernière couche fully-connected permet de `classifier l'image en entrée du réseau :


elle renvoie un vecteur de taille N, où N est le nombre de classes dans notre problème de
classification d'images. Chaque élément du vecteur indique la probabilité pour l'image en
entrée d'appartenir à une classe.

o. Output layer
La couche de sortie est chargée de générer les prédictions ou les sorties du réseau. La
conception spécifique de la couche de sortie peut varier en fonction de la tâche pour laquelle
le CNN est conçu, comme la classification d'images, la détection d'objets… etc.
CHAPITRE II. Apprentissage profond et traitement
d'images
14 Les paramètres d’un modèle CNN
a. La normalisation
La normalisation sert à modifier les valeurs des colonnes numériques dans la base de
données à une échelle commune, sans fausser les différences dans les plages de valeurs. La
normalisation des données accélère l’apprentissage et conduit à une convergence plus rapide.

L’équation de la Normalisation de l'entrée :

¿ x i ,k −μ k
x i ,k = …………………………………………………………………………6.6
√σ k
2

Tel que :

𝜇𝑘 et le Moyenne du mini-batch

1
μk = ∑ x i , k…………………………………………………………………………6.7
m

σ k Variance du mini-batch

2 1
σk = ∑ ¿………………………………………………………………6.8
m

x i ,k est l'activation de l'élément 𝑖i du mini-batch pour le canal 𝑘k.


¿

μk est la moyenne des activations pour le canal 𝑘k dans le mini-batch.

σ k est la variance des activations pour le canal 𝑘k dans le mini-batch.


2

ε est la petite constante ajoutée pour éviter la division par zéro.

b. La régularisation
Est une technique clé en machine Learning qui a pour rôle de limiter le sur-
apprentissage (overfitting) et à contrôler l’erreur de l’apprentissage.

Il existe de nombreuses formes de régularisation, qui dépendent de l’objectif


recherché et des hypothèses fixées sur le problème. Pour les réseaux de neurones, les
méthodes de régularisation les plus populaires sont le Dropout (les poids – paramètres
du réseau de neurones – sont remplacés par zéro de manière aléatoire pendant
CHAPITRE II. Apprentissage profond et traitement
d'images
l ‘entrainement), l’Early Stopping (l’apprentissage s’arrête plus tôt pour favoriser les
modèles simples)

Figure 14: Dropout

c. L’optimisation
L'optimisation est une étape essentielle pour entraîner efficacement un CNN à
apprendre les caractéristiques des données d'entrée (par exemple, des images) et pour faire des
prédictions précises. Elle se fait par l’utilisation des algorithmes d’optimisation, cet
ajustement des paramètres peut fournir la meilleure valeur pour le classificateur, pour bien
améliorer la vitesse de convergence, la performance du modèle et sa précision, ainsi que la
réduction des pertes et du risque de débordement du modèle.

Les optimisateurs les plus utilisés

 Adam

Adam est une technique d'optimisation qui peut être utilisée pour mettre à jour les
poids du réseau de manière itérative sur la base des données d'apprentissage, à la place du
processus traditionnel de descente de gradient stochastique. Voici l'équation de mise à jour
des poids dans l'optimiseur Adam :
CHAPITRE II. Apprentissage profond et traitement
d'images
¿ mt =β1 ⋅mt−1 + ( 1−β1 ) ⋅ gt
¿ v t =β 2 ⋅ v t−1 + ( 1−β 2 ) ⋅ g2t
mt
¿m^t=
1−β t1
…………………………………………………6.9
vt
¿ ^v t= t
1−β 2
η
¿ θt +1=θt − ⋅m^
√ t+ϵ t
^
v

mt est une estimation du premier moment du gradient,

𝑣𝑡 est une estimation du deuxième moment non centré du gradient,

𝛽1 et 𝛽2 sont les coefficients d'atténuation pour les moments du gradient,

𝜂 est le taux d'apprentissage,

𝜖 est un petit terme ajouté pour des raisons de stabilité numérique,

𝑔𝑡 est le gradient à l'itération t,

𝑚^𝑡et 𝑣^𝑡 sont les estimations corrigées des moments du gradient.

 SGD

L'optimiseur de descente de gradient stochastique, ou SGD en abrégé, est l'un des


optimiseurs les plus basiques utilisés dans la formation des réseaux neuronaux Deep Learning.
Voici l'équation de mise à jour des poids pour l'optimiseur SGD :

θt +1=θ t−η⋅ ∇ J ( θt )…………………………………………………………..6.10

θt sont les poids du modèle à l'itération 𝑡,

𝜂 est le taux d'apprentissage,

∇J(θt) est le gradient de la fonction de perte J par rapport aux poids θt à l'itération t.

 ADMM

Les problèmes d'optimisation convexe peuvent être résolus à l'aide de la technique


d'optimisation ADMM (Alternating Direction Method of Multipliers), qui décompose le
CHAPITRE II. Apprentissage profond et traitement
d'images
problème principal en sous-problèmes plus petits et plus faciles à gérer. L'équation générale
de l'optimiseur ADMM peut être exprimée comme suit :

( ρ2 ‖Ax+ B z −c +u ‖ )
¿ x k +1=arg ⁡min f (x )+
x
k k 2

=arg ⁡min ( g ( z ) + ‖ A x + Bz−c + v ‖ ) …………………………6.11


ρ k +1 k 2
¿ z k+1
z 2
¿ u =uk + A x k +1+ B z k+1−c
k +1

k +1 k k +1 k+ 1
¿ v =v + A x + B z −c

x
k+1
et z k+1 sont les variables mises à jour à l’itérationk +1 .

k k
u et v sont les variables auxiliaires à l’itérationk ,

ρ est un paramètre de pénalité,

f (x) et g(z ) sont les fonctions objectives,

Ax+ Bz=c est la contrainte linéaire.

 RMSProp

Pour normaliser le taux d'apprentissage, l'optimiseur RMSprop utilise une moyenne


mobile exponentielle du carré des gradients. Les poids de l'optimiseur RMSprop peuvent être
mis à jour à l'aide de l'équation suivante :

¿ E [ g2 ]t =βE [ g 2 ] t−1+(1−β) ( ∇ J ( θ t ) )
2

η …………………………………………6.12
¿ θt +1=θ t− ∇ J ( θt )
√ E [ g 2 ]t +ϵ
θt est le vecteur des paramètres du modèle à l’itérationt ,

∇ J ( θ t ) est le gradient de la fonction de perte J par rapport àθt ,

E [ g2 ]t est une estimation exponentielle pondérée des carrés des gradients,

β est le taux d'atténuation pour la moyenne exponentielle,

η est le taux d'apprentissage,

ϵ est un terme de régularisation pour éviter la division par zéro.

 SGD avec Momentum


CHAPITRE II. Apprentissage profond et traitement
d'images
Une version de l'optimiseur SGD appelée optimiseur SGD avec momentum comprend
un élément de momentum pour accélérer la convergence dans les directions à gradient
persistant. La formule suivante peut être utilisée pour mettre à jour les poids dans le SGD à
l'aide de l'optimiseur Momentum :

¿ vt +1 =β ⋅ v t +(1−β)⋅∇ J ( θ t )
………………………………………………6.13
¿ θt +1=θt −η ⋅ v t+ 1

Dans ces équations :

θt est le vecteur des paramètres du modèle à l’itérationt ,

∇ J ( θ t ) est le gradient de la fonction de perte J par rapport à θt ,

v t est la vitesse (momentum) à l’itération t ,

β est le coefficient de momentum, généralement proche de 1,

η est le taux d'apprentissage.

 AdaGrad

En divisant le taux d'apprentissage initial par une approximation de la somme des


carrés des gradients précédents, l'optimiseur AdaGrad (Adaptive Gradient Algorithm) modifie
le taux d'apprentissage de chaque paramètre. Les mises à jour des poids de l'optimiseur
AdaGrad peuvent être effectuées à l'aide de l'équation suivante :

2
¿Gt +1=Gt + ( ∇ J ( θt ) )
η ……………………………………………………6.14
¿ θt +1=θ t− ⋅∇ J ( θ t )
√ Gt +1+ ϵ
Dans ces équations :

θt est le vecteur des paramètres du modèle à l’itération t ,

∇ J ( θ t ) est le gradient de la fonction de perte J par rapport à θt ,

Gt est une somme cumulative des carrés des gradients jusqu'à l’itération t ,

η est le taux d'apprentissage initial,

ϵ est un terme de régularisation pour éviter la division par zéro.


CHAPITRE II. Apprentissage profond et traitement
d'images
d. L’Overfitting ET l’Underfitting en CNN:
L’Overfitting (sur-apprentissage), et l’Underfitting (sous-apprentissage) sont les
causes principales des mauvaises performances des modèles prédictifs générés par les
algorithmes de Machine Learning.

 Le sur-apprentissage :

Cela représente un modèle qui a appris par cœur ses données d’entrainement, qui
fonctionne donc bien sur le jeu d’entrainement mais pas de validation. Par conséquent, le
modèle prédictif capturera tous les « aspects » et détails qui caractérisent les données
du training set. Dans ce sens, il capturera toutes les fluctuations et variations aléatoires des
données du training set.

Quand un tel événement se produit, le modèle prédictif pourra donner de très bonnes
prédictions sur les données du Training Set (les données qu’il a déjà vues et auxquelles il s’y
est adapté), mais il prédira mal sur des données qu’il n’a pas encore vues lors de sa phase
d’apprentissage.

On dit que la fonction prédictive se généralise mal. Et que le modèle souffre


d’Overfitting.

 Le sous-apprentissage :

Ce cas-ci représente un modèle qui n’arrive pas à déduire des informations du jeu de
données. Il n’apprend donc pas assez et réalise de mauvaise prédiction sur le jeu
d’entrainement, donc il s’adepte mal au training set.

Autrement dit, le modèle prédictif n’arrive même pas à capturer les corrélations dues
données. Par conséquent, le coût d’erreur en phase d’apprentissage reste grand. Bien
évidemment, le modèle prédictif ne se généralisera pas bien non plus sur les données qu’il
n’a pas encore vu. Finalement, le modèle ne sera pas viable car les erreurs de prédictions
seront grandes.
CHAPITRE II. Apprentissage profond et traitement
d'images
Dans ce cas de figure, on dit que le modèle souffre d’Underfitting. 18

Figure 15: underfittung vs overfitting

Méthodes pour éviter l’overfitting et l’underfitting :

Overfitting Underfitting

Faire l’apprentissage de plusieurs En ajoutant des couches de neurone,


modèles de CNN en parallèle, avec la même ou en augmentant le nombre de données
structure mais en changeant les poids d’entrée dans chaque couche, comme ça on
initiaux. peut créer des prédictions plus précises.

La surveillance des erreurs de En prolongeant la durée de


validation lors de l’apprentissage, et l’arrêter l'entraînement, on peut éviter ce phénomène.
quand on voit que le programme a Cependant, il est important d'être conscient
commencé à faire un overfitting. du sur-apprentissage, et par conséquent, du
sur-ajustement, il faut trouver l'équilibre
En ajoutant une méthode de
entre ces deux scénarios.
régularisation pour réduire le nombre des
weights, donc réduire la complexité du En augmentant la taille et la qualité
CHAPITRE II. Apprentissage profond et traitement
d'images
modèle. des données, on peut améliorer la précision
du modèle.

Utilisant une technique de


régularisation optimale,

Table 1: Méthodes pour éviter l’overfitting et l’underfitting

15 Les métriques de performances

La matrice de confusion
Cette matrice a pour but de visualisé les résultats ou les performances d’un model
CNN ou un modèle de classification, dans une forme d’un tableau come le suivant :

Prédit Positif Prédit Négatif

Vrai Positifs (VP) Faux Négatifs (FN) Réel Positif


Faux Positifs (FP) Vrai Négatifs (VN) Réel Négatif

 Vrai Positifs (VP) : Le nombre des pièces correctement classés comme


appartenant à la classe positive.
 Faux Positifs (FP) : Le nombre des pièces incorrectement classés comme
appartenant à la classe positive.

Taux de bonne classification (Accuracy) Taux de bonne classification (Accuracy) est


l’indicateur le plus naturel et le plus évident permettant d’évaluer les performances d’un
système de classification. Cette valeur simple à calculer, détecte la fréquence à laquelle notre
modèle est correct

VP+VN
Accuracy =
VP+ VN + FP+ FN
Précision est définie par le nombre de vrais résultats positifs divisé par le nombre total de
résultats positifs prédits par le classificateur

Rappel (Recall) est défini comme le rapport des vrais positifs (VP) sur le nombre total des
éléments réels positifs (VP + FN).

VP
Recall = VP+ FN
CHAPITRE II. Apprentissage profond et traitement
d'images
F1 score est une mesure de la performance d'un modèle de classification, telle qu'un réseau de
neurones convolutionnel (CNN). Il combine la précision et le rappel (ou sensibilité) en une
seule métrique. Le F1-score est particulièrement utile lorsque les classes sont déséquilibrées,
car il prend en compte à la fois les faux positifs et les faux négatifs. Le F1-score est défini
comme la moyenne harmonique de la précision et du rappel. La formule mathématique est la
suivante:
Précision × Rappel
F1-score = 2 × Précision+ Rappel

16 Les architectures de réseaux de neurones convolutifs


Les architectures de réseaux de neurones convolutifs obtiennent souvent de grandes
per- formances dans le domaine de l’apprentissage profond. Leur facilité d’utilisation les rend
très utilisées. Il en existe plusieurs, nous allons en exposer les plus populaires :

 LeNet-5

LeNet-5 est une architecture de réseau neuronal convolutif (CNN) développée par
Yann LeCun en 1989. Et il est considéré comme la première mise en œuvre réussie d’un
CONVNET pour la classification d’images. Il a 2 couches convolutionnelles (CONV) et 3
couches Fully Connected (FC) (d'où 5 est le nombre de couches CONV et FC dont ils
disposent), et il a environ 60000 paramètres. Il a été appliqué par plusieurs banques pour
reconnaitre et classer les chiffres manuscrits de l’ensemble de données, tels que les chèques,
mais a également été appliqué à d’autres tâches de classification d’images. Malgré son âge,
LeNet-5 reste un modèle populaire et influent dans le domaine de l’apprentissage en
profondeur, et son architecture de base a inspiré de nombreux CNNs ultérieurs. 19
CHAPITRE II. Apprentissage profond et traitement
d'images

Figure 16: Architectures de LeNet-5

 AlexNet

AlexNet est une architecture de réseau de neurones convolutif (CNN) crée par
Krizhevsky Ilya Sutskever, and Geoffrey Hintonen 2012, cet évènement marque un tournant
dans l’apprentissage profond. Il a obtenu des performances meilleures que les architectures
CNN précédentes et a remporté le défi de reconnaissance visuelle à grande échelle ImageNet
(ImageNet Large Scale Visual Recognition Challenge nommé ILSVRC) en 2012 avec un
résultat top-5 avec 15.3% d’erreurs. Le deuxième meilleur résultat avait le taux d'erreur de
26,2%, qui représente une énorme amélioration des performances. Il est composé de 5
couches de convolutions combinées avec des couches Maxpooling, 3 couches entièrement
connectées et 2 couches dropout. La fonction d’activation utilisée dans toutes les couches est
ReLu. Et la fonction d’activation utilisée dans la couche de sortie est Softmax. Cette
architecture a environ 60 millions paramètres.

Dans l’ensemble, AlexNet est une contribution significative au domaine de


l’apprentissage profond, et son succès sur l’ensemble de données ImageNet a contribué́ à faire
des CNNs un outil puissant pour les tâches de classification d’images. 19
CHAPITRE II. Apprentissage profond et traitement
d'images

Figure 17: Architectures d’AlexNet

 VGGNet

VGGNet est une architecture de réseaux de neurones convolutifs proposée par


l’équipe de Visual Geometry Group (VGG) en 2014 et ont inventé le VGG16, et il a obtenu la
deuxième place lors de ILSVRC dans la même année.

Il est connu par sa simplicité avec deux ou trois couches de convolutions, puis une
couche de pooling, s'ensuit une série similaire alternante de deux ou trois couches de
convolutions et une de pooling jusqu'à avoir 16 couches de convolutions, et finir avec
plusieurs couches complètement connectées successives, avec 138 millions de paramètres.

Ils ont également conçu un autre modèle plus profond, VGG-19. Cela représentait
7,3% du taux d'erreur dans le top 5 lors la compétition ILSVRC. 19

Figure 18: Architectures de VGGNet


CHAPITRE II. Apprentissage profond et traitement
d'images
 GoogLeNet

GoogleNet aussi connu comme Inception v1 est une architecture CNN développée par
des chercheurs de google en 2014 qui a remporté la première place lors du ILSVRC 2014
avec un taux d’erreur de 6.7%, 0.6% plus précis que VGG.

Il a joué un rôle significatif dans le développement et l’avancement du domaine de la


classification des images, et il est largement utilisé aujourd’hui.

Ce modèle a introduit un nouveau module appelé Inception Module v1, composé de


calculs parallèles de convolutions et de maxpooling qui peuvent aller plus profondément dans
le réseau. Il a aussi utilisé pour la première fois des convolutions 1x1 qui ont réduit les
dimensions des inputs avant d’appliquer des grandes convolutions.

Depuis qu’il a été lancer, GoogleNet a eu un impact marquant qui a inspiré le


développement d’autre modèles comme le V2, et le v3. 19

Figure 19: Architectures de GoogleNet

 Resnet

ResNet (Residual Network) est une architecture de réseau neuronal convolutif (CNN)
développée par Kaiming He en 2015. Conçu pour classer les images du jeu de données
ImageNet. Il a obtenu des performances nettement meilleures que les architectures CNN
précédentes et a remporté́ le ImageNet Large Scale Visual Recognition Challenge ILSVRC en
2015 avec un taux d’erreurs de 3,57%. ResNet est connu pour son utilisation de connexions
résiduelles, qui sont des connexions raccourcies qui sautent une ou plusieurs couches et
permettent au réseau d’apprendre le mappage résiduel entre l’entrée et la sortie d’une couche.
Cela lui permettre de former des réseaux très profonds, avec jusqu’à 152 couches, sans
souffrir du problème de gradient de fuite qui peut survenir dans les réseaux très profonds. 20
CHAPITRE II. Apprentissage profond et traitement
d'images

Figure 20: Architectures de ResNet

17 Conclusion
Dans ce chapitre, on a présenté les bases du réseau de neurones Convolutifs CNN,
commençant par son architecture fondamentale qui commence par la convolution en passant
par ses différents types de couches et leurs fonctionnements, après on a parlé des méthodes
pour améliorer l’apprentissage du CNN en utilisant la normalisation, la régularisation, et
l’optimisation. Ensuite, on a présenté les architectures de CNN les plus connues et utilisées
pour arriver à la meilleure précision possible lors de l’apprentissage d’un modèle.
CHAPITRE III

1 Introduction
Dans ce chapitre, on va illustrer et déterminer l’architecture de deux model CNN, un
on l’a développé et l’autre, on l’a importé en utilisant l'apprentissage par transfert pour
l’implémenter, après on les a exécutés utilisant les bibliothèques Tensorflow et Keras pour
l'apprentissage et la classification. Pour améliorer la performance des modèles, nous
utiliserons quelques stratégies simples mais puissantes telles que l'abandon et l'augmentation
des données.

 La configuration utilisée :

CPU Apple M2 Pro chip

La RAM 08 GB DDR4
GPU Apple M2 pro graphique chip
Table 2: Les caractéristiques du PC

18 Logiciels et librairies Utilisés dans l’implémentation


a. Python :

Python est un langage de programmation informatique, Contrairement à HTML, CSS


ou JavaScript, son usage n’est donc pas limité au développement web. Il peut être utilisé pour
tout type de programmation et de développement logiciel. Il est spécialement utilisé pour le
développement des logiciels et des programmes pour PC, ainsi que dans le développement
d'applications en ligne et mobiles. Il peut écrire des instructions de système informatique. Et
dans les domaines de l’apprentissage automatiques et l’apprentissage profond Python est le
plus utilise grâces à ces avantages tel que la facilité d’exécution et ça large gamme des
bibliothèques (Numpy, Pandas, ScikitLearn, SciPy), ça capacité de traiter des larges donnes.
C'est souvent le langage préféré pour la science des données. [23]

b. Jupiter :
Jupyter Notebook est un outil web open-source (IDE) qui permet d’exécuter des
fichiers python, il était connu anciennement comme IPython Notebooks. Il permet de créer et
de partager des documents contenant du code exécutable, des équations mathématiques, des
graphiques et images en toute simplicité ; il est destiné à toutes sorte d’utilisateurs allant de
CHAPITRE III
l’expert en préparation de données aux experts en statistiques en passant par les
développeurs de solution machine learning.

c. Les bibliothèques
Dans le domaine de Data-science, une bibliothèque (Library) un ensemble de
fonctions, de classes d’objets et de constantes qui permettent de travailler sur un thème
particulier. Si ces modules appartiennent au pack originel du langage, ce sont des modules
intégrés. Dans notre projet on a utilisé nombreux des bibliothèques comme suit [24] :

d. Matplotlib :
Est un module de dataviz très agréable ça fonctionnement est de créer des graphes qui
modélisent les données sur lesquelles tu travailles. Matplotlib s’utilise en synergie avec
Numpy ou Pandas. Matplotlib offre une large variété de types de graphes qui s’adaptent à tous
les besoins : histogrammes, boîtes à moustache, courbes, scatter plots, camemberts. [24]

e. TensorFlow
TensorFlow Le modèle d'apprentissage profond de Google et disponible en open
source. Il s’agit d’une bibliothèque calcul numérique et de Machine Learning compatible avec
le langage Python. Il optimise les opérations de collecte de données, de développement de
modèles d'apprentissage automatique, d'élaboration de prévisions et d'amélioration des
résultats à l'avenir. [24]

f. Keras
Keras est une bibliothèque Open Source de réseau neuronal écrite en Python.
Fonctionnant à partir de structures telles que TensorFlow et Theano, Créée par François
Chollet, développeur chez Google, Keras présente l'avantage d'être rapide, simple d'utilisation
et modulaire. Keras est l'une des bibliothèques les plus populaires à l'heure actuelle dans le
domaine de Deep Learning. Les conceptions complexes et la création de couches de réseaux
neuronaux sont rendues incroyablement simples. [24]

g. La base d’images
On a utilisé des photos des roues d'une pompe submersible qui sont tous des vues de
dessus. L’ensemble de données contient un total de 7348 images. Ces images ont toutes une
taille de (300*300) pixels en “grayscale”. Cette base des données est divisée sur trois groupes,
le premier groupe contient les images d’entrainement avec 5307 photos, le deuxième avec un
nombre de 1326 pour la validation et le dernier group c’est le test avec 715 images. En tout,
les données sont divisées en deux catégories :
CHAPITRE III
1. Pièces-ok (3137 images)
2. Pièces-def (4211 images)
La capture de ces images nécessite un éclairage stable, pour lequel nous avons utilisé
des dispositifs spéciaux. Également, il faut utiliser des caméras à haute résolution et à haute
vitesse de capture pour identifier correctement les défauts. Il faut aussi faire attention aux
autres facteurs comme la taille de la lentille, la distance focale et l’orientation pour que le
système soit plus efficace.

En fin, il faut noter que tous ces données étaient fournies par PILOT TECHNOCAST,
Shapar, Rajkot. Nous devons les remercier pour leur soutien constant et pour nous avoir
permis de travailler sur ce problème.

19 Les system de détection et l’importance de la capture


L'opération de détection des défauts avec la vision artificielle est utilisée dans
plusieurs industries pour l'inspection et le contrôle de la qualité des produits. Ces installations
sont particulièrement bien adaptées à la détection de défauts sur des objets qui de déplacent à
des grandes vitesses, tels que les roues d’une pompe submersible. Pour obtenir à la fin le
rapport et la validation des résultats, la roue passe sur plusieurs étapes, comme suit [26]:
 Préparation du Système :
Sélection de la Caméra Linéaire
Installation de l’Éclairage
 Acquisition des Images
 Traitement et Analyse des Images :
Utilisez des algorithmes de reconnaissance de motifs pour identifier les défauts. Cela
peut inclure la détection de variations de texture, de couleur, ou de forme.
 Validation et Rapports
 Actions Correctives :
Élimination des Produits Défectueux.
CHAPITRE III

Figure 21: train de détection des défauts

20 Architecture de notre model


En général, on a utilisé deux model, le premier s’agit d’un modèle CNN qu’on a créé et le
deuxième est un modèle pré-entrainé VGG16.

a. Architecture de model CNN


Ce modèle est composé de deux couches de convolution et deux couches de maxpooling et
trois couches de fully-connected.

Tout d’abord, on a importé les bibliothèques nécessaires pour notre model, après on a importé
nos données. Ensuite, on les a divisés avec une manière pour qu’ils soient en 3 groupes, avant
de les introduire dans les couches de convolution.

L’image passe d’abord à la première couche de convolution, l’image en entrée est de taille
300*300,. Cette couche est composée de 32 filtres de taille 3*3, avec un stride de 2 Chacune
de nos couches de convolution est suivie d’une fonction d’activation ReLU, ensuite on
applique Maxpooling pour réduire la taille de l’image et garder les paramètres de calcul les
plus importnts. Après cette convolution des nouveau features maps seront créés. Les feature
maps qui sont obtenus auparavant elles sont introduites en entrée de la deuxième couche de
convolution qui est composée de 64 filtres, une fonction d’activation RELU est appliquée sur
la couche de convolution, ensuite on applique Maxpooling autrefois. À la sortie de cette
couche, nous aurons 64 feature maps de taille 18*18.
CHAPITRE III

Figure 22: Architecture de model CNN

i. Résultats obtenus et Interprétations


Pour visualiser les résultats obtenus pour les modèles, on illustre dans ce qui suit les résultats
en termes de précision et d’erreur pour chacun d’eux.
CHAPITRE III
ii. Interprétation des résultats obtenus du premier model

Figure 23: Précision et Erreur du model

 Interprétation :

D’après les graphes on constate que la précision de notre model dépend de nombre d’itération
ça veut dire qu’avec l’augmentation de nombre d’époques le taux des information tirées du
notre données augment. Parallèlement, on sait que l’erreur d’apprentissage se varie
proportionnellement avec la précision d’apprentissage, donc l’erreur diminué avec
l’augmentation de nombre d’itération.

iii. La matrice de confusion :

Figure 24: matrice de confusion du model CNN

D’après cette matrice on remarque que la précision de notre modèle est trop élevée , Donc on
peut estimer que la précision de ce modèle est de 98.70% et l’erreur 1.30%
CHAPITRE III
iv. Test de prédiction sur les images

Figure 25: Les images bien classées


CHAPITRE III

Figure 26: Les images mal classées

v. Métriques de précision

PIECES-OK PIECES-DEF ACCURACY MACRO WEIGHTED


AVG AVG

PRÉCISION
1.0000 0.9978 0.9989 0.9986

RECALL
0.9962 1.0000 0.9981 0.9986

F1-SCORE
0.9981 0.9989 0.9986 0.9985 0.9986

SUPPORT
262 453 715 715 715

b. Architecture de model VGG16


VGG est réseau neuronal convolutif profond crée par Karen Simonyan and Andrew
Zisserman dans le groupe de géométrie visuelle « Visual Geometry Group» de l'Université
d'Oxford. Le modèle VGG examine la profondeur des couches avec un filtre convolutionnel
de très petite taille (3 × 3) pour tenir compte des images à grande dimension. Les chercheurs
ont publié une série de modèles VGG avec différentes longueurs de couches, de 11 à 19.
CHAPITRE III

Figure 27: architecture d'un model VGG16

Un model VGG-16 se compose en général de 16 couches, dont 13 couches


convolutives et 3 couches fully-connected. Ces couches sont réparties en blocs, chaque bloc
contenant plusieurs couches convolutives suivies d'une couche de max-pooling le sous-
échantillonnage.

Tout d'abord, nous avons une couche d'entrée, dont les dimensions d'entrée doivent
être (224.224.3), puis deux couches convolutives consécutives avec 64 filtres chacune et une
taille de filtre de 3×3 avec un «padding » pour maintenir les dimensions et ReLu comme une
fonction d’activation, puis une couche de max-pooling avec une taille de mise en commun de
2×2 et un pas de 2. Ensuite, deux couches convolutives consécutives avec 128 filtres chacune
et une taille de filtre de 3×3 avec un «padding », après, une couche de Max-pooling avec une
taille de mise en commun de 2×2 et un pas de 2. Par la suite, on ajoute deux couches
convolutives avec 256 filtres de taille 3×3 puis deux autre couches de convolution
consécutivement avec 512 filtres de 3×3. Apres, la dernière couche de max-pooling avec une
taille de mise en commun de 2×2 et un pas de 2. A la fin, flatten du «feature map » de sortie
(7x7x512) en un vecteur de taille 25088. [21]

Dans la FC on trouve trois couches entièrement connectées avec activation ReLu ;

 Première couche avec une taille d'entrée de 25088 et une taille de sortie de
4096.
 Deuxième couche avec une taille d'entrée de 4096 et une taille de sortie de
4096.
 Troisième couche avec une taille d'entrée de 4096 et une taille de sortie de
1000, correspondant aux 1000 classes du défi ILSVRC.
CHAPITRE III

Figure 28: Architecture du VGG16


i. Résultats obtenus et Interprétations

Figure 29: Précision et Erreur pour le Modèle VGG16


CHAPITRE III

Figure 30: Matrice de Confusion pour le Modèle VGG 16


D’après la Figure 8 La précision de l’apprentissage et de la validation augmente avec
le nombre d’époque, ceci reflète qu’à chaque époque le modèle apprenne plus d’informations.
Si la précision est diminuée alors on aura besoin de plus d’information pour faire apprendre
notre modèle et par conséquent on doit augmenter le nombre d’époque et vice versa. De
même, l’erreur d’apprentissage et de la validation diminue avec le nombre d’époque.

D’après la figure 9 nous remarquons que la totalité des images mal classées est de 5
images, un taux d’erreur de 0.755% et la totalité des images bien classées est de 657 un taux
de précision de 99.244%.

ii. Métriques de précision

PIECES-OK PIECES-DEF ACCURACY MACRO WEIGHTED


AVG AVG

PRÉCISION
0.998 0.980 0.989 0.993

RECALL
0.991 0.995 0.993 0.992

F1-SCORE
0.995 0.988 0.992 0.991 0.992

SUPPORT
463 199 622 622 622
CHAPITRE III
21 Tableau de comparaison des résultats
Le tableau ci-dessous montre les différents résultats obtenus sur les trois modèles

Architecture Utilisé Précision


obtenu
Temps
Couche Fully Nombre Sur la Erreur
Couche de d’exécution
de connecte époque base de (%)
Convolution (second)
Pooling d validation
(%)
CNN 02 02 03 25 98.70 01.30 367
VGG1
13 03 03 20 99.25 00.75 1695
6
Figure 31: Tableau de comparaison des résultats
Le tableau présente l'architecture utilisée dans chaque modèle et le nombre d'époques,
la précision et l’erreur, ainsi que le temps d'exécution. Dans notre cas, le temps d’exécution
est très court gras à Google colab pro qui nous a permis d’utilisé un GPU très puissant (T4
GPU). Le modèle VGG16 a présenté les meilleurs résultats trouvés à cause de nombre de
couches de convolution, mais le temps d'exécution était relativement important.

22 Grad-Cam
La méthode Grad-CAM est une technique de visualisation courante qui permet de
savoir comment un réseau neuronal convolutionnel a été orienté pour prendre une décision de
classification.

a. Principe de fonctionnement
Grad-CAM consiste à déterminer quelles parties de l'image ont permis à un réseau
neuronal convolutionnel d'aboutir à sa décision finale. Cette méthode consiste à produire des
cartes thermiques représentant des classes d'activation sur les images reçues en entrée. Chaque
classe d'activation est associée à une classe de sortie spécifique. Ces classes sont utilisées pour
indiquer l'importance de chaque pixel par rapport à la classe concernée, en augmentant ou en
diminuant l'intensité du pixel. [16]
CHAPITRE III

Figure 32 : principe de fonctionnement du Grad-Cam


CHAPITRE III
b. Résultats obtenus
Image La vision du Grad-Cam

 Interprétation :

On peut voir que notre algorithme « Grad-Cam » augmente l’intensité de « heat-map »


sur les défauts dans les pièces défaillantes, à partir de cette remarque, en peut être sûr que
notre programme CNN a bien compris et bien détecté les défauts pour faire la différence entre
les pièces ok est les pièces défaillantes.
CHAPITRE III
23 Conclusion
Un réseau de neurone convolutif important et profond donne des meilleurs résultats et
la performance de notre réseau se dégrade si une couche convolutive est supprimée, Les
résultats obtenus se sont améliorés à mesure que nous avons approfondie notre réseau et
augmenté le nombre d’époque.
REFERENCE

[1] Ce que vous devez savoir sur les pompes submersibles - EDDY Pump OEM

[2] pdf-product ([Link])

[3] 17 types de défauts de moulage : comprendre leurs causes et leurs remèdes


([Link])

[4] 5 types de défauts de moulage et comment les prévenir dans vos produits

([Link])

[5] Moulage sous pression haute pression : un aperçu ([Link])

[6] [Link] ([Link])

[7] Artificial intelligence - Wikipedia

[8] 7 Types Of Artificial Intelligence ([Link])

[9] Narrow AI Definition | DeepAI

[10] What is Machine Learning and How Does It Work? In-Depth Guide
([Link])

[11]What Is Machine Learning and Types of Machine Learning [Updated]


([Link])

[12] Introduction to Deep Learning - GeeksforGeeks

[13] What is Deep Learning? | IBM

[14] What is Transfer Learning? - GeeksforGeeks

15 [Link]
explained-716fb197b243

16 [Link]
network-architecture/

[Link] ( couche de convolution)

17 [Link]
18[Link]
learning-derapent overfitting underfitting

19[Link]
%[Link]?sequence=1&isAllowed=y different cnn

20 [Link] resnet

[21]Deep convolutional neural network VGG-16 model for differential diagnosing of


papillary thyroid carcinomas in cytological images: a pilot study - PMC ([Link])

[22]Comprendre les cartes d'activation des classes basées sur les gradients
(GradCAM) - Détection des émotions humaines ([Link])

[23] Python (programming language) - Wikipedia

[24] What is the Jupyter Notebook? — Jupyter/IPython Notebook Quick Start Guide
0.1 documentation ([Link])

[25] Libraries in Python - GeeksforGeeks

[26] Comment la vision artificielle détecte-t-elle les défauts ? | E2M COUTH


Table des matières

1 Introduction :............................................................................................................1

2 La pompe submersible..............................................................................................1

3 Les défauts de moulage............................................................................................3

4 Conclusion :..............................................................................................................9

1 Introduction............................................................................................................10

2 Apprentissage automatique (Machine Learning)..................................................10

2.1 Fonctionnement...............................................................................................11

2.1.1 Apprentissage supervisé............................................................................11

2.1.2 Apprentissage non supervisé.....................................................................12

2.1.3 Apprentissage par renforcement................................................................12

3 Apprentissage profond (Deep learning).................................................................13

3.1 Fonctionnement...............................................................................................13

4 Apprentissage par transfert (Transfer Learning)....................................................14

4.1 Fonctionnement...............................................................................................14

5 Les réseaux neuronaux convolutionnels (CNN).....................................................15

5.1 La vision artificial...........................................................................................15

5.2 Les inconvénients du MLP :............................................................................16

5.3 La couche d’entrée..........................................................................................16

5.4 La couche convolutive....................................................................................16

5.5 Les filtres (kernels)..........................................................................................18

5.6 Padding............................................................................................................18

5.7 Stride...............................................................................................................19

5.8 Pooling............................................................................................................19

5.9 Maxpooling :...................................................................................................19

5.10 Averagepooling :.........................................................................................20


5.11 Global pooling.............................................................................................20

5.12 Les fonctions d’activation...........................................................................21

5.13 Flattening :...................................................................................................23

5.14 La couche entièrement connectée (FC) :.....................................................23

5.15 Output layer.................................................................................................23

6 Les paramètres d’un modèle CNN.........................................................................24

6.1 La normalisation..............................................................................................24

6.2 La régularisation..............................................................................................24

6.3 L’optimisation.................................................................................................25

6.4 L’Overfitting ET l’Underfitting en CNN:.......................................................28

7 La matrice de confusion :.......................................................................................30

8 Le F1-score.............................................................................................................31

9 Les architectures de réseaux de neurones convolutifs............................................31

10 Conclusion..........................................................................................................35

1 Introduction............................................................................................................36

2 Logiciels et librairies Utilisés dans l’implémentation............................................36

2.1 Python :...........................................................................................................36

2.2 Jupiter :............................................................................................................36

2.3 Les bibliothèques.............................................................................................37

2.4 Matplotlib :......................................................................................................37

2.5 TensorFlow......................................................................................................37

2.6 Keras................................................................................................................37

2.7 La base d’images.............................................................................................37

3 Les system de détection et l’importance du capture...............................................38

4 Architecture de notre model...................................................................................39

4.1 Architecture de model CNN............................................................................39

4.1.1 Résultats obtenus et Interprétations...........................................................40


4.1.2 Interprétation des résultats obtenus du premier model..............................41

4.1.3 La matrice de confusion :..........................................................................41

4.1.4 Test de prédiction sur les images..............................................................42

4.1.5 Le F1-score................................................................................................43

4.2 Architecture de model VGG16.......................................................................43

4.2.1 Résultats obtenus et Interprétations...........................................................45

4.2.2 Le F1-score................................................................................................46

5 Tableau de comparaison des résultats....................................................................47

6 Grad-Cam...............................................................................................................47

6.1 Principe de fonctionnement.............................................................................47

6.2 Résultats obtenus.............................................................................................49

7 Conclusion..............................................................................................................50

Figure 1: La pompe submersible..................................................................................................................... 1


Figure 2 : Impulseur....................................................................................................................................... 2
Figure 3: porosités du gaz.............................................................................................................................. 4
Figure 4: Retrait............................................................................................................................................. 4
Figure 5: Types des retraits............................................................................................................................ 5
Figure 6: Larmes Chaudes.............................................................................................................................. 6
Figure 7: Arrêts À Froid.................................................................................................................................. 7
Figure 8: Evier................................................................................................................................................ 7
Figure 9: Décalage......................................................................................................................................... 9
Figure 10 : la relation entre le AI, ML et DL................................................................................................... 10
Figure 11: Apprentissage supervisé vs non-supervisé....................................................................................12
Figure 12: L'apprentissage par renforcement................................................................................................ 13
Figure 13 : Comment l’ordinateur voit les images RGB..................................................................................15
Figure 14 : Basic CNN architecture................................................................................................................ 16
Figure 15: convolution par filtrage............................................................................................................... 17
Figure 16: application des filtres (kernels).................................................................................................... 18
Le Figure 17 : Le padding.............................................................................................................................. 18
Figure 18 : La méthode de stride.................................................................................................................. 19
Figure 19 : Maxpooling................................................................................................................................ 20
Figure 20 : Averagepooling........................................................................................................................... 20
Figure 21 : Le ReLu....................................................................................................................................... 21
Figure 22 : graphe de ReLu........................................................................................................................... 21
Figure 23: la fonction Sigmoïde.................................................................................................................... 22
Figure 24: La fonction softmax..................................................................................................................... 22
Figure 25 : Flattening................................................................................................................................... 23
Figure 26: Dropout....................................................................................................................................... 25
Figure 27: underfittung vs overfitting........................................................................................................... 29
Figure 28: Architectures de LeNet-5.............................................................................................................. 32
Figure 29: Architectures d’AlexNet............................................................................................................... 33
Figure 30: Architectures de VGGNet............................................................................................................. 33
Figure 31: Architectures de GoogleNet......................................................................................................... 34
Figure 32: Architectures de ResNet............................................................................................................... 35
Figure 33: train de détection des défauts..................................................................................................... 39
Figure 34: Architecture de model CNN......................................................................................................... 40
Figure 35: Précision et Erreur du model.................................................................................................... 41
Figure 36: matrice de confusion du model CNN............................................................................................ 41
Figure 37: Les images bonnes classifient....................................................................................................... 42
Figure 38: les images mal classifient............................................................................................................. 43
Figure 39: architecture d'un model VGG16................................................................................................... 44
Figure 40: Architecture de model VGG16...................................................................................................... 45
Figure 41: Précision et Erreur pour le Modèle VGG16...................................................................................45
Figure 42: Matrice de Confusion pour le Modèle VGG 16..............................................................................46
Figure 43: Tableau de comparaison des résultats.......................................................................................... 47
Figure 44 : principe de fonctionnement du Grad-Cam...................................................................................48

Vous aimerez peut-être aussi