0% ont trouvé ce document utile (0 vote)
32 vues37 pages

Classification d'Images avec ResNet

Ce document traite de la classification des images à l'aide de réseaux de neurones convolutifs, en particulier l'architecture ResNet. Il aborde les défis associés à la classification d'images, les applications pratiques et les avantages et inconvénients des méthodes modernes. L'étude inclut également une mise en œuvre et une analyse des résultats obtenus.

Transféré par

Mohamed Ait Mouali
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
32 vues37 pages

Classification d'Images avec ResNet

Ce document traite de la classification des images à l'aide de réseaux de neurones convolutifs, en particulier l'architecture ResNet. Il aborde les défis associés à la classification d'images, les applications pratiques et les avantages et inconvénients des méthodes modernes. L'étude inclut également une mise en œuvre et une analyse des résultats obtenus.

Transféré par

Mohamed Ait Mouali
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 PDF, TXT ou lisez en ligne sur Scribd

Master Intelligence Artificielle et Applications

Classification des images Res-Net


Réalisé par :
Najib Abdelhakim
Kharmouch Abdessamad

Encadré par :

Prof. Hadri Aissam


Prof. Ellahyani Ayoub
Prof. Benaddy Mohamed

Année Universitaire : 2024-2025

1
Table des matières

Introduction générale 6

1 Introduction à laclassification d’images 7


1.1 Définition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 applications pratiques : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Reconnaissance faciale : . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Diagnostic médical : . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3 Reconnaissance d’objets dans la vidéo surveillance : . . . . . . . . . 9
1.2.4 la détection des objet : . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Problèmes classiques en classification d’images . . . . . . . . . . . . . . . . . 11
1.3.1 Variations d’éclairage . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.2 Variations de position et d’orientation . . . . . . . . . . . . . . . . . 11
1.3.3 Variation du fond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.4 Présence de bruit et de distorsions . . . . . . . . . . . . . . . . . . . 11
1.4 Limites des méthodes classiques en classification d’images . . . . . . . . . . . 12
1.4.1 Extraction manuelle des caractéristiques (Feature Engineering) . . . . 12
1.4.2 Sensibilité aux variations des données . . . . . . . . . . . . . . . . . . 12
1.4.3 Limitations face aux données de haute dimension . . . . . . . . . . . 12
1.4.4 Incapacité à apprendre des représentations hiérarchiques . . . . . . . 13
1.4.5 Difficulté à généraliser sur des tâches complexes . . . . . . . . . . . . 13

2 Réseaux de neurones convolutifs 14


2.1 Intoduction : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Convolution : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Les fonctions d’activation : . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.1 La fonction RELU : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.2 La fonction Softmax : . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2
2.3.3 La fonction Sigmoı̈de : . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3.4 La fonction adam : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4 Pooling : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.1 Max poling : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.2 Moyenne Pooling : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Flattening : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.2 Pourquoi le flattening est-il important ? . . . . . . . . . . . . . . . . . 23
2.6 Les différentes couches d’un CNN : . . . . . . . . . . . . . . . . . . . . . . . 23
2.6.1 Couche d’entrée (Input layer) : . . . . . . . . . . . . . . . . . . . . . 23
2.6.2 Couche cachée (Hidden Layer) : . . . . . . . . . . . . . . . . . . . . . 23
2.7 Couche fully-connected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Notion sur ResNet 25


3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Aarchitecture ResNet : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Les types de ResNet : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 Avantages et inconvénients de ResNet . . . . . . . . . . . . . . . . . . . . . . 28
3.4.1 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4.2 Inconvénients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Implémentation et résultats 30
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3 Architecture du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 Visualisation des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4.1 Rapport de classification . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4.2 Courbes d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4.3 Matrice de confusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5 Résultats de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Conclusion générale 35

3
Table des figures

1.1 example classification d’images . . . . . . . . . . . . . . . . . . . . . . . . . 7


1.2 l’identification de covid 19 avec la classification d’images . . . . . . . . . . . 8
1.3 l’utilisation de la classification d’images dans surveillance . . . . . . . . . . 9
1.4 la classification des images des fleurs . . . . . . . . . . . . . . . . . . . . . . 10

2.1 etape 1 et 2 de convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


2.2 etape 3 et 4 de convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 etape 5 et 6 de convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 etape 7 et 8 de convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 etape 9 de convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 etape 9 de convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 Graphe de la fonction RELU . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8 La fonction Softmax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.9 La fonction sigmoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.10 Processus de Max-Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.11 Moyenne Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.12 Flattening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.13 Couche cochee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.14 Couche fully-connected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1 Overall model structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26


3.2 residual block structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3 les types de ResNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.1 Courbes d’apprentissage du modèle (accuracy et loss) . . . . . . . . . . . . . 32


4.2 Matrice de confusion du modèle . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Exemple de prédiction correcte . . . . . . . . . . . . . . . . . . . . . . . . . 33

4
4.4 Exemple de prédiction correcte . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.5 Exemple de prédiction correcte . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.6 Exemple de prédiction correcte . . . . . . . . . . . . . . . . . . . . . . . . . 33

5
Introduction générale

La classification d’images est un domaine fondamental de la vision par ordinateur, consis-


tant à attribuer une étiquette à une image parmi un ensemble de classes prédéfinies. Cette
tâche trouve des applications dans de nombreux secteurs, tels que la médecine, la sécurité,
l’agriculture, ou encore les systèmes de recommandation. Avec l’essor des réseaux de neu-
rones convolutionnels (CNN), la reconnaissance automatique d’images a connu des progrès
spectaculaires au cours de la dernière décennie.

Cependant, l’entraı̂nement de réseaux profonds pose plusieurs défis, notamment le phé-


nomène de disparition du gradient qui complique la convergence lors de la rétropropagation.
Pour pallier ces difficultés, des architectures innovantes telles que ResNet (Residual Net-
work) ont été proposées. ResNet utilise des blocs résiduels qui facilitent l’apprentissage en
permettant au réseau de mieux transmettre les gradients sur de nombreuses couches.

Dans ce projet, nous exploitons ResNet50, une version populaire de ResNet pré-entraı̂née
sur la base massive ImageNet, afin de classifier un jeu de données d’images de fleurs. Cette
approche, appelée transfer learning, permet de bénéficier des connaissances acquises sur une
large variété d’images pour améliorer la performance sur une tâche spécifique avec un temps
d’entraı̂nement réduit.
L’objectif principal est d’implémenter une pipeline complète de classification d’images uti-
lisant TensorFlow et Keras, incluant le chargement et l’augmentation des données, la mise
en place du modèle ResNet50 avec fine-tuning partiel, et l’analyse des résultats obtenus. Ce
rapport détaille les différentes étapes, les choix méthodologiques, ainsi que les performances
atteintes.

6
Chapitre 1
Introduction à laclassification
d’images

1.1 Définition :
La classification d’images :
L’attribution d’une ou plusieurs classes prédéfinies à une image, sur la base de son contenu
visuel, est une tâche essentielle en vision par ordinateur connue sous le nom de classification
d’images. Elle repose sur l’analyse des caractéristiques extraites automatiquement ou ma-
nuellement de l’image pour en déduire sa catégorie (ex. : chien, chat, voiture, avion, etc.).
En d’autres termes, l’objectif consiste à associer une image à la classe appropriée parmi un
groupe prédéterminé de classes, en recourant à des algorithmes d’apprentissage automatique
ou de deep learning.

Figure 1.1 – example classification d’images

7
1.2 applications pratiques :

1.2.1 Reconnaissance faciale :


La technologie de reconnaissance faciale permet d’identifier ou de confirmer l’identité d’un
individu à travers son visage. Elle est généralement fondée sur des algorithmes d’intelligence
artificielle, notamment l’apprentissage profond (deep learning), capables de décortiquer les
traits du visage à partir d’images ou de séquences vidéo.

1.2.2 Diagnostic médical :


La classification d’images médicales permet d’identifier automatiquement des pathologies
dans des images telles que les radiographies, IRM, scanners ou images dermatologiques.
example : Classification des images de radiographie pulmonaire pour détecter la tuberculose
ou la COVID-19.

Figure 1.2 – l’identification de covid 19 avec la classification d’images

8
1.2.3 Reconnaissance d’objets dans la vidéo surveillance :
Les caméras de surveillance utilisent la classification pour la détectection des objets ou
des personnes (voitures, piétons, sacs abandonnés).
Exemple : Systèmes de sécurité en aéroport peut détecter automatiquement des comporte-
ments suspects ou des objets laissés sans surveillance.

Figure 1.3 – l’utilisation de la classification d’images dans surveillance

9
1.2.4 la détection des objet :
la détection d’objets localise et classe plusieurs objets dans une même image. Cela se
fait en identifiant les coordonnées (bounding boxes) des objets et leurs étiquettes (classes).
Example : la détection des objets peut classifiier chaque images de fleure.

Figure 1.4 – la classification des images des fleurs

10
1.3 Problèmes classiques en classification d’images
La classification d’images est une tâche complexe car les données visuelles sont soumises
à de nombreuses variations qui peuvent perturber la performance des modèles de reconnais-
sance. Voici les principaux problèmes classiques rencontrés dans ce domaine :

1.3.1 Variations d’éclairage


Les images peuvent être prises dans des conditions lumineuses très différentes : lumière
naturelle, artificielle, ombres portées, contre-jour, etc. Ces variations modifient la perception
des couleurs et des textures, rendant la reconnaissance d’objets plus difficile.

1.3.2 Variations de position et d’orientation


Un même objet peut apparaı̂tre à différents endroits dans l’image, sous différentes orien-
tations (rotation, inclinaison) ou échelles (zoom avant/arrière). Ces changements spatiaux
exigent que le modèle soit invariant à la translation, à la rotation et à l’échelle.

1.3.3 Variation du fond


Le fond ou le contexte dans lequel apparaı̂t un objet peut varier considérablement. Par
exemple, un animal dans un parc ou dans un salon reste le même, mais le fond peut influencer
le modèle s’il n’est pas correctement généralisé. Ce phénomène peut conduire à des erreurs
de classification si le modèle apprend à associer une classe à un arrière-plan particulier.

1.3.4 Présence de bruit et de distorsions


Les images peuvent contenir du bruit (numérique, compression, flou de mouvement, pixel-
lisation) ou des dégradations dues à des conditions de capture imparfaites. Ces imperfections
masquent les caractéristiques visuelles importantes et rendent l’extraction de motifs plus
difficile pour le modèle.

Ces problèmes soulignent la nécessité d’utiliser des modèles d’apprentissage profonds


capables de s’adapter à ces variations. En particulier, les réseaux de neurones convolutifs
(CNN) permettent d’apprendre automatiquement des représentations hiérarchiques et ro-
bustes à partir des pixels, ce qui les rend plus efficaces que les approches classiques fondées
sur l’extraction manuelle de caractéristiques.

11
1.4 Limites des méthodes classiques en classification d’images
Les méthodes classiques de classification d’images, telles que les machines à vecteurs
de support (SVM) ou les k-plus proches voisins (k-NN), présentent plusieurs limitations
majeures, en particulier lorsqu’elles sont confrontées à des tâches complexes ou à des jeux
de données volumineux. Voici une explication détaillée de ces limites :

1.4.1 Extraction manuelle des caractéristiques (Feature Engineering)


Problème : Ces approches reposent sur des descripteurs conçus manuellement (comme
SIFT, HOG ou LBP) pour extraire les caractéristiques visuelles. Ces descripteurs ne sont
pas apprenants, c’est-à-dire qu’ils ne s’adaptent pas automatiquement aux données.
Conséquences :

— Faible capacité à capturer la complexité des images (variations de texture, d’angle, de


lumière, etc.).

— Nécessitent une expertise humaine et un travail fastidieux à chaque nouveau type de


données.

1.4.2 Sensibilité aux variations des données


Problème : Les méthodes classiques sont sensibles aux perturbations fréquentes dans les
images :

— Changements d’éclairage, de rotation ou d’échelle.

— Présence de bruit, flou ou fonds complexes.

Exemple : Un classificateur SVM peut échouer à reconnaı̂tre un chat si l’image est légè-
rement inclinée ou mal éclairée.

1.4.3 Limitations face aux données de haute dimension


Problème : Les images sont naturellement de haute dimension (ex. : 224 × 224 pixels =
50 176 dimensions).
Conséquences :

— Les méthodes comme k-NN souffrent du fléau de la dimension (curse of dimensiona-


lity), où les distances perdent leur signification.

— Les SVM deviennent coûteux à entraı̂ner, surtout avec des noyaux complexes.

12
1.4.4 Incapacité à apprendre des représentations hiérarchiques
Problème : Ces méthodes traitent les images comme des vecteurs plats, ignorant la struc-
ture spatiale des pixels.
Conséquences :

— Impossible de capturer les motifs imbriqués (bords → textures → formes → objets).

— Mauvaises performances sur des tâches complexes comme la reconnaissance d’objets


dans des scènes naturelles.

1.4.5 Difficulté à généraliser sur des tâches complexes


Problème : Ces méthodes atteignent rapidement leurs limites sur des jeux de données
complexes ou de grande échelle.
Exemple : Un modèle utilisant HOG combiné à un SVM obtient environ 60% de précision
sur MNIST, alors qu’un réseau de neurones convolutif (CNN) dépasse généralement 99%.

Ces limitations justifient l’adoption de modèles plus avancés, tels que les réseaux de
neurones profonds, capables d’apprendre automatiquement des représentations adaptées,
robustes, et hiérarchiques à partir des données brutes.

13
Chapitre 2

Réseaux de neurones convolutifs

2.1 Intoduction :

Les réseaux de neurones convolutifs : sont des réseaux de neurones artificiels spécialement
conçus pour le traitement d’images. Ils sont entraı̂nés à reconnaı̂tre des motifs spécifiques
dans les images et à les classer en différentes catégories. Les réseaux de neurones convolutifs
peuvent être utilisés pour classer des images de dattes dans différentes catégories telles que
les variétés, les couleurs, les tailles et les formes. Cette méthode permet d’identifier et de
classer les images de dattes afin de faciliter leur traitement et leur analyse. La classification
des images de dattes par CNN est une méthode très efficace qui permet de classer rapidement
et avec précision les images de dattes en temps réel. Les réseaux de neurones convolutifs sont
entraı̂nés à reconnaı̂tre des motifs spécifiques dans les images et à les classer en catégories.
Cette méthode est utilisée dans de nombreuses applications, notamment l’analyse des images
de dattes, l’identification et la classification des variétés, des couleurs, des tailles et des formes
des dattes, ainsi que la détection de détails subtils dans les images. Elle est très utile pour
l’analyse et le traitement des images de dattes.

2.2 Convolution :

La couche de convolution est une opération mathématique simple utilisée généralement pour
le traitement et la reconnaissance d’images. Le rôle de cette première couche est d’analyser
les images en entrée et de détecter la présence d’un ensemble de caractéristiques. En sortie
de cette couche, on obtient un ensemble de cartes de caractéristiques.

14
Figure 2.1 – etape 1 et 2 de convolution

Figure 2.2 – etape 3 et 4 de convolution

15
Figure 2.3 – etape 5 et 6 de convolution

Figure 2.4 – etape 7 et 8 de convolution

16
Figure 2.5 – etape 9 de convolution

2.3 Les fonctions d’activation :


Les fonctions d’activation sont des fonctions mathématiques appliquées aux signaux de
sortie des neurones d’un réseau de neurones artificiels. Elles permettent de maximiser le
potentiel du réseau et de l’aider à apprendre des modèles complexes. Si aucune fonction
d’activation n’est appliquée, le signal de sortie sera une fonction linéaire et l’apprentissage
du réseau sera limité.

Figure 2.6 – etape 9 de convolution

17
2.3.1 La fonction RELU :
La fonction RELU (Rectified Linear Unit) est la fonction d’activation la plus simple et
la plus utilisée. Elle introduit de la non-linéarité dans le réseau et grâce à sa simplicité, elle
ne nécessite pas de calculs complexes, ce qui permet d’accélérer l’entraı̂nement du réseau.
La fonction RELU transforme simplement toutes les valeurs négatives en 0 et conserve les
valeurs positives. Mathématiquement, la fonction RELU est définie par : f(x) = max(0, x)
pour tout réel x.

Figure 2.7 – Graphe de la fonction RELU

2.3.2 La fonction Softmax :


La fonction Softmax permet de transformer un vecteur réel en un vecteur de probabilités.
Elle est souvent utilisée dans la couche finale d’un modèle de classification, notamment pour
les problèmes de classification à plusieurs classes. En mathématiques, la fonction softmax,
ou fonction exponentielle normalisée, est une généralisation de la fonction logistique. Elle
prend en entrée un vecteur z = (Z1, ..., ZK) de K nombres réels strictement positifs dont la
somme est égale à 1. La fonction est définie par

18
Figure 2.8 – La fonction Softmax

2.3.3 La fonction Sigmoı̈de :


La fonction sigmoı̈de (ou logistique) est une fonction d’activation qui permet de convertir
la sortie Z en une probabilité o(Z). L’avantage principal de la fonction sigmoı̈de est que sa
sortie est toujours comprise entre 0 et 1. En mathématiques, la fonction sigmoı̈de est définie
par :
1
f( x) =
1 + e− x
Le graphe de la fonction a la forme d’un ”sigma” comme le symbole intégral.

19
Figure 2.9 – La fonction sigmoide

2.3.4 La fonction adam :


L’algorithme d’optimisation Adam est utilisé pour la formation de modèles d’appren-
tissage profond. Il s’agit d’une extension de la descente de gradient stochastique. Dans cet
algorithme d’optimisation, les moyennes courantes des gradients et des seconds moments des
gradients sont utilisées. Il est utilisé pour calculer les taux d’apprentissage adaptatifs pour
chaque paramètre.

2.4 Pooling :

Le Pooling (ou mise en commun) : est une méthode permettant de réduire la taille d’une
image tout en préservant les informations importantes qu’elle contient. Les mathématiques
derrière la notion de pooling ne sont pas très complexes. Il suffit de faire glisser une petite
fenêtre pas à pas sur toutes les parties de l’image et de prendre la valeur maximale de cette
fenêtre à chaque pas. En pratique, on utilise souvent une fenêtre de 2 ou 3 pixels de côté
avec un pas de 2 pixels. On distingue deux types de pooling

20
2.4.1 Max poling :

Le Max-Pooling est un processus de discrétisation basé sur des échantillons. Son objectif
est de sous-échantillonner une représentation d’entrée (image, matrice de sortie de couche
cachée, etc.) en réduisant sa dimension. De plus, il réduit le coût de calcul en diminuant le
nombre de paramètres à apprendre et fournit une invariance par petites translations. Si une
petite translation ne modifie pas le maximum de la région balayée, le maximum de chaque
région restera le même, et donc la nouvelle matrice créée restera identique. Figure 2.6 :
Processus de Max-Pooling

Figure 2.10 – Processus de Max-Pooling

2.4.2 Moyenne Pooling :

Le Moyenne Pooling est un type de pooling qui réduit la dimensionnalité des cartes de
caractéristiques en prenant la moyenne des valeurs de chaque région. Le Moyenne Pooling
est utile pour réduire le bruit et les artefacts dans les images.

21
Figure 2.11 – Moyenne Pooling

2.5 Flattening :

2.5.1 Définition

Le flattening est une technique de coloriage utilisée dans l’animation traditionnelle et nu-
mérique. Elle consiste à appliquer des couleurs plates sur les différents éléments d’un dessin
animé, tels que les personnages, les décors et les accessoires. Le flattening est généralement
effectué par des artistes spécialisés dans cette tâche, appelés flatteurs. Ils travaillent en étroite
collaboration avec les animateurs et les artistes de mise en couleur pour créer des designs et
des palettes de couleurs cohérents et harmonieux.

Figure 2.12 – Flattening

22
2.5.2 Pourquoi le flattening est-il important ?
Le flattening est une étape cruciale dans la production d’une animation de haute qualité.
Sans un flattening précis et soigné, l’animation peut sembler terne, confuse et peu profes-
sionnelle. Le flattening permet également de gagner du temps et de l’argent en rationalisant
le processus de mise en couleur. En confiant cette tâche à des flatteurs spécialisés, les anima-
teurs peuvent se concentrer sur la création de mouvements fluides et dynamiques, sans avoir
à se soucier des détails de coloriage.

2.6 Les différentes couches d’un CNN :

2.6.1 Couche d’entrée (Input layer) :


Cette couche reçoit le vecteur généré après la phase de ”flattening”. Il faut au moins avoir
un seul neurone pour créer cette couche. Le nombre de neurones (inputs) dépend de la taille
du vecteur issu du ”flattening”.

2.6.2 Couche cachée (Hidden Layer) :


Ce sont des couches situées entre la couche d’entrée et la couche de sortie. Ces couches
aident à calculer les résultats finaux de la couche de sortie. La couche cachée est responsable
de la production du résultat final de notre CNN.

Figure 2.13 – Couche cochee

23
2.7 Couche fully-connected
La couche fully-connected constitue toujours la dernière couche d’un réseau de neurones,
qu’il soit convolutif ou non. Ce type de couche reçoit un vecteur en entrée et produit un
nouveau vecteur en sortie. Pour cela, elle applique une combinaison linéaire, puis éventuel-
lement une fonction d’activation, aux valeurs reçues en entrée. La couche ”fully-connected”
permet de classifier l’image en entrée du réseau en renvoyant 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.

Figure 2.14 – Couche fully-connected

2.8 Conclusion
Les réseaux de neurones convolutifs sont des outils puissants pour le traitement et la
classification d’images. Grâce à leurs différentes couches et fonctions, ils permettent d’ex-
traire automatiquement les caractéristiques importantes des images et de les analyser avec
précision. Leur application à la classification des images de dattes montre leur efficacité et
leur rapidité dans des tâches complexes de reconnaissance visuelle.

24
Chapitre 3

Notion sur ResNet

3.1 Définition
Les réseaux résiduels (ResNets), proposés récemment par Kaiming He et al. (2015),
ont marqué une avancée majeure dans le domaine de l’apprentissage profond en obtenant
des performances de pointe lors de la compétition ILSVRC 2015 (Deng et al., 2009). Leur
succès repose principalement sur la possibilité d’entraı̂ner des réseaux extrêmement profonds,
atteignant plus de 1000 couches, ce qui était jusque-là un défi majeur.
À l’instar des Highway Networks (Srivastava et al., 2015), les ResNets exploitent des
connexions de raccourci identitaires (identity shortcut connections) qui permettent à l’in-
formation de circuler à travers les couches sans être affaiblie par l’empilement successif de
transformations non linéaires. Cette approche améliore considérablement l’optimisation du
réseau en facilitant la propagation du gradient. Contrairement aux Highway Networks, ces
connexions ne sont pas régulées par des portes (gates) : l’entrée non transformée est toujours
transmise.
Cependant, malgré leurs résultats empiriques impressionnants, les architectures ResNet
présentent certaines limites. Les connexions identitaires entraı̂nent une accumulation de re-
présentations issues de différents niveaux de profondeur, dont certaines peuvent devenir in-
utiles dans les couches ultérieures (Gers et al., 2000). De plus, si l’apprentissage de l’identité
est simplifié par la structure résiduelle, il reste difficile d’apprendre son inverse, nécessaire
pour supprimer les informations redondantes. Enfin, la structure fixe des blocs résiduels im-
pose un apprentissage par des sous-réseaux peu profonds, alors que des travaux théoriques
suggèrent que des réseaux plus profonds sont plus expressifs (Bianchini Scarselli, 2014).
Pour dépasser ces limites, une architecture résiduelle généralisée a été proposée. Elle com-
bine en parallèle un flux résiduel (avec skip connections) et un flux non résiduel (type CNN
classique). Cette hybridation conserve les avantages liés aux connexions identitaires tout en
augmentant l’expressivité du modèle et en facilitant l’élimination d’informations superflues.

25
Dans ce contexte, une nouvelle variante baptisée ResNet in ResNet (RiR) a été introduite.
Basée sur ces blocs résiduels généralisés, RiR a démontré des performances de pointe, no-
tamment sur la base de données CIFAR-100, confirmant son efficacité et son potentiel pour
des applications complexes.

Figure 3.1 – Overall model structure

3.2 Aarchitecture ResNet :


La structure principale de l’architecture ResNet est un réseau de neurones convolutionnel
composé de blocs résiduels et de connexions de raccourci (shortcut connections).
Lorsqu’une matrice de caractéristiques entre dans un bloc résiduel :

— Une branche traverse les couches convolutionnelles, puis subit normalisation et activa-
tion pour améliorer la capacité non-linéaire.

— L’autre branche contourne les couches intermédiaires et se connecte directement à la


sortie.

La connexion de raccourci additionne directement l’entrée du bloc à la sortie transformée.


Le résultat est ensuite passé par une fonction d’activation, ce qui permet au bloc d’apprendre
la fonction résiduelle :

f (x) = H(x) − x

Cette conception permet au réseau de :

— effectuer des calculs plus profonds,

— améliorer la vitesse de convergence,

— maintenir de bonnes performances même avec un grand nombre de couches.

En empilant plusieurs blocs résiduels identiques, le modèle peut efficacement apprendre


et extraire des caractéristiques.

26
À l’entrée du réseau, les caractéristiques passent par une couche convolutionnelle ini-
tiale, puis dans les blocs résiduels empilés, où s’effectue l’apprentissage et la représentation
abstraite des informations.

Figure 3.2 – residual block structure

3.3 Les types de ResNet :


Il existe cinq variantes principales du modèle ResNet : ResNet-18, ResNet-34, ResNet-50,
ResNet-101 et ResNet-152, comme indiqué dans le figure .
Dans cette étude, nous avons utilisé ResNet-50 (colonne six, encadrée en cyan) et ResNet-
101 (colonne sept, encadrée en marron) tels que présentés dans le même tableau.
Les architectures ResNet-50, ResNet-101 et ResNet-152 reposent sur le bloc bottleneck
(voir Figure ??) afin de permettre l’ajout d’un plus grand nombre de couches. La principale
différence entre ces trois versions se situe au niveau de la couche conv 4 (zone encadrée en
bleu marine horizontalement). Grâce au bloc bottleneck

— ResNet-50 ajoute 6 couches supplémentaires,

— ResNet-101 ajoute 23 couches supplémentaires,

— ResNet-152 ajoute 36 couches supplémentaires.

Dans notre analyse, nous avons comparé les deux types d’images en utilisant les archi-
tectures ResNet-50 et ResNet-101, en nous appuyant sur la couche fc1000 (ligne sept du
figure).

27
Figure 3.3 – les types de ResNet

3.4 Avantages et inconvénients de ResNet

3.4.1 Avantages
— Résolution du problème de dégradation : Les blocs résiduels permettent de construire
des réseaux très profonds sans que la performance ne se dégrade.

— Amélioration de la convergence : Les connexions de raccourci facilitent la propagation


du gradient, accélérant l’entraı̂nement.

— Possibilité de réseaux extrêmement profonds : ResNet peut atteindre plus de 1000


couches tout en maintenant de bonnes performances.

— Performances sur ImageNet : ResNet a atteint des résultats state-of-the-art sur la


compétition ILSVRC.

3.4.2 Inconvénients
— Accumulation de représentations : Les connexions identitaires transmettent toutes les
informations, même celles qui deviennent inutiles dans les couches profondes.

— Difficulté à supprimer l’information inutile : Le réseau doit apprendre l’inverse de


l’identité pour filtrer certaines informations, ce qui est complexe.

— Blocs résiduels peu profonds : Chaque bloc doit apprendre le résidu avec peu de
couches, limitant l’expressivité comparée à un réseau plus profond.

— Complexité computationnelle : L’empilement de nombreux blocs peut augmenter le


temps et les ressources nécessaires à l’entraı̂nement.

28
3.5 Conclusion
ResNet permet d’entraı̂ner efficacement des réseaux très profonds grâce aux blocs rési-
duels et aux connexions de raccourci. Malgré certaines limites, comme l’accumulation d’infor-
mations inutiles, il reste une architecture performante et modulable, à la base de nombreuses
améliorations récentes.

29
Chapitre 4

Implémentation et résultats

4.1 Introduction
Ce chapitre présente l’ensemble du processus d’implémentation et les résultats obtenus
lors de la classification des fleurs à l’aide d’un modèle de type CNN pré-entraı̂né (ResNet50).
Nous détaillons dans un premier temps le dataset utilisé, puis l’architecture du modèle adop-
tée. Ensuite, nous présentons les résultats expérimentaux sous forme de métriques globales,
de courbes d’apprentissage et de matrices de confusion. Enfin, des visualisations qualitatives
des prédictions viennent compléter l’évaluation, permettant d’analyser les forces et limites
du modèle.

4.2 Dataset
Cet ensemble de données contient des images de cinq espèces de fleurs distinctes, consti-
tuant une ressource précieuse pour les tâches de classification d’images et les projets de
vision par ordinateur. Il regroupe une variété d’images florales permettant aux modèles d’ap-
prentissage de distinguer les différences subtiles entre les espèces suivantes : la marguerite,
reconnaissable à ses pétales blancs et son cœur jaune ; le pissenlit, caractérisé par ses fleurs
jaune vif souvent présentes dans les champs et jardins ; les roses, symboles de l’amour et de
la beauté, aux teintes variées allant du rouge au rose ; les tournesols, facilement identifiables
grâce à leur grande taille, leurs pétales jaunes éclatants et leur disque central brun ; et enfin
les tulipes, connues pour leur élégance et leurs couleurs variées, très prisées dans les jardins
et les compositions florales. Ce dataset constitue ainsi une base idéale pour l’entraı̂nement
de modèles capables de reconnaı̂tre et différencier diverses espèces de fleurs.

30
4.3 Architecture du modèle
Le modèle utilisé pour la classification des fleurs repose sur une architecture de type CNN
pré-entraı̂né, ResNet50, adaptée à notre dataset. L’entrée du modèle est constituée d’images
de taille 180 × 180 avec trois canaux de couleur (RGB). Les images passent d’abord par
un bloc d’augmentation de données comprenant des transformations aléatoires telles que le
retournement horizontal, la rotation et le zoom, afin de réduire le risque de surapprentissage
et d’améliorer la généralisation. Ensuite, les images sont prétraitées avec la fonction spéci-
fique à ResNet50 pour normaliser les pixels selon les paramètres d’entraı̂nement originaux.
La base du modèle est le ResNet50 pré-entraı̂né sur ImageNet, dont la tête finale est suppri-
mée et dont les poids sont gelés pour conserver les caractéristiques déjà apprises. La sortie
convolutive de ResNet50 est transformée en un vecteur 1D via une couche de pooling global
(GlobalAveragePooling2D), puis passée à une couche dense finale avec activation soft-
max qui fournit les probabilités pour chacune des classes de fleurs. Cette approche permet
de combiner la puissance des réseaux profonds pré-entraı̂nés avec une tête de classification
simple adaptée à notre problème.

4.4 Visualisation des résultats

4.4.1 Rapport de classification


Les résultats expérimentaux montrent que le modèle atteint une précision globale de 92%,
traduisant une performance satisfaisante sur les cinq classes. On observe des métriques élevées
pour toutes les catégories, avec un rappel particulièrement fort pour les daisy (95%) et une
précision remarquable pour les dandelion (96%), bien que quelques confusions persistent. Les
classes roses, sunflowers et tulips présentent des performances équilibrées, autour de 89–93%
de F1-score. Ces résultats confirment la robustesse de l’architecture ResNet50 utilisée, tout
en suggérant que de légères améliorations pourraient être obtenues via une optimisation de
l’augmentation de données ou un affinement par fine-tuning.

4.4.2 Courbes d’apprentissage


Les courbes montrent que la précision d’entraı̂nement atteint presque 99%, tandis que la
précision de validation se stabilise autour de 91–92%. L’écart entre les courbes, ainsi que la
loss de validation plus élevée, révèlent un surapprentissage modéré. L’ajout de techniques de

31
Figure 4.1 – Courbes d’apprentissage du modèle (accuracy et loss)

régularisation telles que le dropout, l’augmentation de données ou l’early stopping pourrait


améliorer la généralisation.

4.4.3 Matrice de confusion

Figure 4.2 – Matrice de confusion du modèle

La matrice de confusion indique une bonne classification générale, avec la majorité des
prédictions correctes sur la diagonale principale. Les principales confusions concernent les

32
classes visuellement proches comme roses et tulips, ou encore daisy et dandelion. Cela re-
flète les similarités visuelles entre certaines fleurs, confirmant l’importance d’augmenter la
variabilité des données pour améliorer la robustesse du modèle.

4.5 Résultats de test

Figure 4.3 – Exemple de prédiction correcte Figure 4.4 – Exemple de prédiction correcte

Figure 4.5 – Exemple de prédiction correcte Figure 4.6 – Exemple de prédiction correcte

Ces exemples de prédiction illustrent la capacité du modèle à classer correctement des


images issues du dataset de test, tout en soulignant les cas où les confusions apparaissent.

33
Ils permettent une meilleure compréhension qualitative des performances du modèle.

4.6 Conclusion
Dans ce chapitre, nous avons présenté l’implémentation et les résultats obtenus pour la
classification de cinq espèces de fleurs à l’aide du modèle ResNet50 pré-entraı̂né. Les résultats
expérimentaux montrent une précision globale de 92%, confirmée par des métriques équili-
brées entre précision, rappel et F1-score sur l’ensemble des classes. L’analyse des courbes
d’apprentissage et de la matrice de confusion met cependant en évidence un léger surappren-
tissage ainsi que des confusions entre certaines espèces visuellement proches, telles que les
roses et les tulips. Ces observations suggèrent que des améliorations pourraient être envisa-
gées, notamment via l’utilisation de techniques de régularisation plus poussées, une augmen-
tation plus riche des données ou encore un affinement par fine-tuning du modèle pré-entraı̂né.
Globalement, le modèle présente de bonnes capacités de généralisation et constitue une base
solide pour de futures expérimentations.

34
Chapitre 5

Conclusion générale

Ce travail avait pour objectif de développer et d’évaluer un modèle de classification


d’images appliqué à un dataset de fleurs comprenant cinq espèces distinctes. L’approche
adoptée s’est appuyée sur un réseau de neurones convolutif pré-entraı̂né, ResNet50, afin de
tirer parti des représentations puissantes issues de l’apprentissage sur ImageNet. Les résul-
tats expérimentaux obtenus, avec une précision globale de 92%, démontrent l’efficacité de
cette architecture pour des tâches de vision par ordinateur dans un contexte de classification
multi-classes.

L’analyse des performances a révélé des points forts, tels que la robustesse du modèle sur
la majorité des classes, mais également certaines limites, notamment un léger surapprentis-
sage et des confusions entre espèces visuellement similaires. Ces observations soulignent la
nécessité d’envisager des améliorations, telles que l’utilisation d’une augmentation de don-
nées plus variée, l’application de techniques de régularisation avancées, ou encore le recours
au fine-tuning complet du modèle pré-entraı̂né.

En perspective, ce travail pourrait être étendu à des datasets plus vastes ou plus complexes,
ou encore à d’autres architectures de réseaux de neurones (EfficientNet, Vision Transfor-
mers). Une telle extension permettrait de renforcer la capacité de généralisation du modèle
et d’ouvrir la voie à des applications concrètes dans des domaines variés de la reconnaissance
visuelle.

35
Bibliographie

[1] K. He, X. Zhang, S. Ren, J. Sun, Deep Residual Learning for Image Recognition, Procee-
dings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR),
2016. Disponible sur : [Link]

[2] A. Krizhevsky, I. Sutskever, G. Hinton, ImageNet Classification with Deep


Convolutional Neural Networks, Advances in Neural Information Processing
Systems (NeurIPS), 2012. Disponible sur : [Link]
4824-imagenet-classification-with-deep-convolutional-neural-networks

[3] K. Simonyan, A. Zisserman, Very Deep Convolutional Networks for Large-Scale Image
Recognition, International Conference on Learning Representations (ICLR), 2015. Dis-
ponible sur : [Link]

[4] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, L. Fei-Fei, ImageNet : A Large-Scale
Hierarchical Image Database, CVPR, 2009. Disponible sur : [Link]
papers/imagenet_cvpr09.pdf

[5] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke,


A. Rabinovich, Going Deeper with Convolutions, CVPR, 2015. Disponible sur : https:
//[Link]/abs/1409.4842

[6] F. Chollet, Deep Learning with Python, Manning Publications, 2017. Disponible sur :
[Link]

[7] Rahma Sleam, Flowers Dataset, Kaggle. Disponible sur : [Link]


datasets/rahmasleam/flowers-dataset Consulté le 3 septembre 2025.

[8] Walid El-Shafai et Fathi E. Abd El-Samie, Extensive COVID-19 X-Ray and CT
Chest Images Dataset, Mendeley Data, version 3. DOI : [Link]
8h65ywd2jr.3 Consulté le 3 septembre 2025.

[9] Hassan Sofian et al., Calcification Detection of Coronary Artery Disease in Intravas-
cular Ultrasound Image : Deep Feature Learning Approach, ResearchGate. Disponible

36
sur : [Link]
Detection_of_Coronary_Artery_Disease_in_Intravascular_Ultrasound_Image_
Deep_Feature_Learning_Approach Consulté le 3 septembre 2025.

[10] La Classification RES-NET des images (ResNet-50), GitHub Re-


pository. Disponible sur : [Link]
La-Classification-RES-NET-des-images-ResNet-50-

37

Vous aimerez peut-être aussi