Pfe 1
Pfe 1
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 : 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]
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.
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.
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.
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]
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.
É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]
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]
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
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]
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.
6 Fonctionnement
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]
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
À 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]
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)
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]
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.
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
−∞
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
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
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.
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.
zi
e
Softmax ( z ) = ………………………………………………………………….5.5
∑ ej
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
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.
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.
¿ 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
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.
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.
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
SGD
∇J(θt) est le gradient de la fonction de perte J par rapport aux poids θt à l'itération t.
ADMM
( ρ2 ‖Ax+ B z −c +u ‖ )
¿ x k +1=arg min f (x )+
x
k k 2
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 ,
RMSProp
¿ 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 ,
¿ vt +1 =β ⋅ v t +(1−β)⋅∇ J ( θ t )
………………………………………………6.13
¿ θt +1=θt −η ⋅ v t+ 1
AdaGrad
2
¿Gt +1=Gt + ( ∇ J ( θt ) )
η ……………………………………………………6.14
¿ θt +1=θ t− ⋅∇ J ( θ t )
√ Gt +1+ ϵ
Dans ces équations :
Gt est une somme cumulative des carrés des gradients jusqu'à l’itération t ,
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.
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
Overfitting Underfitting
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 :
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
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
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.
VGGNet
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
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.
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
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 :
La RAM 08 GB DDR4
GPU Apple M2 pro graphique chip
Table 2: Les caractéristiques du PC
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.
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
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.
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
v. Métriques de précision
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
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]
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
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%.
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
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
Interprétation :
[1] Ce que vous devez savoir sur les pompes submersibles - EDDY Pump OEM
[4] 5 types de défauts de moulage et comment les prévenir dans vos produits
([Link])
[10] What is Machine Learning and How Does It Work? In-Depth Guide
([Link])
15 [Link]
explained-716fb197b243
16 [Link]
network-architecture/
17 [Link]
18[Link]
learning-derapent overfitting underfitting
19[Link]
%[Link]?sequence=1&isAllowed=y different cnn
20 [Link] resnet
[22]Comprendre les cartes d'activation des classes basées sur les gradients
(GradCAM) - Détection des émotions humaines ([Link])
[24] What is the Jupyter Notebook? — Jupyter/IPython Notebook Quick Start Guide
0.1 documentation ([Link])
1 Introduction :............................................................................................................1
2 La pompe submersible..............................................................................................1
4 Conclusion :..............................................................................................................9
1 Introduction............................................................................................................10
2.1 Fonctionnement...............................................................................................11
3.1 Fonctionnement...............................................................................................13
4.1 Fonctionnement...............................................................................................14
5.6 Padding............................................................................................................18
5.7 Stride...............................................................................................................19
5.8 Pooling............................................................................................................19
6.1 La normalisation..............................................................................................24
6.2 La régularisation..............................................................................................24
6.3 L’optimisation.................................................................................................25
8 Le F1-score.............................................................................................................31
10 Conclusion..........................................................................................................35
1 Introduction............................................................................................................36
2.5 TensorFlow......................................................................................................37
2.6 Keras................................................................................................................37
4.1.5 Le F1-score................................................................................................43
4.2.2 Le F1-score................................................................................................46
6 Grad-Cam...............................................................................................................47
7 Conclusion..............................................................................................................50