Classification d'Images avec ResNet
Classification d'Images avec ResNet
Encadré par :
1
Table des matières
Introduction générale 6
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
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
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
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.
7
1.2 applications pratiques :
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.
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.
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 :
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 :
Exemple : Un classificateur SVM peut échouer à reconnaı̂tre un chat si l’image est légè-
rement inclinée ou mal éclairée.
— 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 :
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
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
15
Figure 2.3 – etape 5 et 6 de convolution
16
Figure 2.5 – 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.
18
Figure 2.8 – La fonction Softmax
19
Figure 2.9 – La fonction sigmoide
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
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.
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.
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.
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
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.
— Une branche traverse les couches convolutionnelles, puis subit normalisation et activa-
tion pour améliorer la capacité non-linéaire.
f (x) = H(x) − x
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.
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.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.
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.
— 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.
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.
31
Figure 4.1 – Courbes d’apprentissage du modèle (accuracy et loss)
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.
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
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
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]
[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
[6] F. Chollet, Deep Learning with Python, Manning Publications, 2017. Disponible sur :
[Link]
[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.
37