Mémoire de recherche – Master 1
Parcours : Ingénierie en Intelligence Artificielle
et Data
Plateforme de détection et de
classification des déchets plastiques
urbains basée sur des modèles
prédictifs et des données collectées en
temps réel
ANDRIAMAHARO Kwon-Chui Rado Angelin
Président du jury : Dr RAKOTONDRAMANANA Sitraka
Examinateurs : Mme RAKOTONDRABARY Elihary
: Dr RAHARIMANANA Tsilavina Antonio
Directeur de mémoire : Dr RAKOTOMANANJARA David Fitiana
21 Juin 2025
Année universitaire 2024–2025
Remerciements
Je tiens à exprimer ma profonde gratitude à toutes les personnes ayant contribué,
de près ou de loin, à la réalisation de ce mémoire.
Je remercie tout d’abord mon directeur de mémoire, Dr RAKOTOMANAN-
JARA David Fitiana, pour sa disponibilité, ses conseils avisés, et son accompagne-
ment rigoureux tout au long de ce travail. Sa vision et son expertise ont été détermi-
nantes dans l’orientation et la qualité de ce projet.
Je souhaite également exprimer ma reconnaissance à Dr RAMASONDRANO
Andriamanjaka, directeur de l’établissement, pour son engagement dans la promotion
de l’excellence académique et pour avoir créé un cadre propice à la recherche et à
l’innovation.
Je suis également reconnaissant envers les membres du jury, Dr RAKOTON-
DRAMANANA Sitraka, Mme RAKOTONDRABARY Elihary, et Dr RA-
HARIMANANA Tsilavina Antonio, pour avoir accepté d’évaluer ce travail et
pour l’intérêt qu’ils y ont porté.
Je remercie l’ensemble des enseignants du parcours Ingénierie en Intelligence Ar-
tificielle et Data pour les connaissances qu’ils m’ont transmises, ainsi que pour leur
engagement dans notre formation.
Une pensée particulière va à ma famille pour son soutien moral constant, sa patience
et ses encouragements inconditionnels tout au long de mon parcours académique.
Enfin, je n’oublie pas mes camarades de promotion et mes amis pour leurs échanges
enrichissants, leur bienveillance et l’ambiance de travail stimulante qu’ils ont su créer.
À toutes et à tous, merci.
i
Abstract
Plastic pollution represents a major environmental challenge, particularly in Afri-
can urban areas where waste management remains inadequate. In Antananarivo, Ma-
dagascar, hundreds of tons of waste are generated daily, with a significant portion
left uncollected, leading to plastic accumulation in public spaces. This thesis explores
the use of deep learning models for automated detection of plastic objects in urban
environments.
Two object detection architectures were evaluated : YOLO11m, a fast and effi-
cient single-stage model, and Faster R-CNN, a traditional two-stage approach. The
training was conducted on a local dataset composed of annotated images representing
common plastic types : Sachet, Emballage, Bouteille, and Pot. Performance metrics
such as mAP, F1-score, precision, and recall were used for evaluation.
Results show that YOLO11m achieves a global mAP@[50] of 0.812 and a
mAP@[50-95] of 0.731, demonstrating a good balance between accuracy and speed.
It performs especially well on Sachets (mAP@[50] = 0.893), thanks to their distinc-
tive visual features. However, Bottle and Pot remain more challenging due to underre-
presentation in the dataset and morphological similarities with other objects.
The Faster R-CNN model, although slower, yields lower overall performance
(mAP@[50] = 0.471, mAP@[50-95] = 0.297), with high precision but low recall
for certain classes. It detects only large-sized objects effectively, limiting its applicability
in complex urban settings.
Limitations include class imbalance, annotation quality issues, and difficulties gene-
ralizing to partially visible or small-sized objects. Future improvements involve expan-
ding the dataset with more local examples, adding new plastic categories, integrating
post-processing techniques for refined classification, and exploring hybrid architectures
combining speed and accuracy.
Key words
Computer vision, Deep learning, Object detection, YOLO, Faster R-CNN, plastic
waste
ii
Résumé
La pollution plastique constitue un défi environnemental majeur, particulièrement
dans les zones urbaines d’Afrique, où la gestion des déchets reste insuffisante. À Ma-
dagascar, la ville d’Antananarivo produit quotidiennement des centaines de tonnes de
déchets, dont une part importante n’est pas collectée, entraînant une accumulation de
plastiques dans l’espace public. Face à ce problème, ce mémoire explore l’utilisation de
modèles d’apprentissage profond pour la détection automatisée des objets plastiques
en milieu urbain.
Deux architectures emblématiques de détection d’objets ont été évaluées : YOLO11m,
modèle one-shot rapide et efficace, et Faster R-CNN, architecture classique basée sur
deux étapes (régions candidates puis classification). L’entraînement a été effectuée sur
un jeu de données local composé d’images annotées représentant différents types de
plastiques courants : Sachet, Emballage, Bouteille et Pot. Les performances ont été
mesurées à l’aide de métriques standard telles que le mAP, le F1-score, la précision et
le rappel.
Les résultats obtenus montrent que YOLO11m atteint un mAP50 global de
0.812 et un mAP@[50-95] de 0.731, avec un bon équilibre entre précision et vi-
tesse de détection. Il détecte particulièrement bien les Sachets (mAP@[50] = 0.893)
grâce à leurs caractéristiques visuelles distinctes. En revanche, les classes Bouteille et
Pot restent plus difficiles à identifier, souvent confondues ou manquées, en raison de
leur sous-représentation dans le jeu de données et de similitudes morphologiques avec
d’autres objets.
Le modèle Faster R-CNN, bien que plus lent, obtient des résultats globalement
inférieurs (mAP50 = 0.471, mAP@[50-95 = 0.297), avec une bonne précision
mais un faible rappel pour certaines classes. Il ne détecte efficacement que les objets de
grande taille, ce qui limite son utilisation dans des environnements urbains complexes.
L’analyse des limites souligne l’impact du déséquilibre de classes, de la qualité des
annotations, ainsi que la difficulté à généraliser sur des objets partiellement visibles ou
de petite taille. Les perspectives incluent l’extension du jeu de données avec davantage
d’exemples locaux, l’ajout de nouvelles catégories de plastiques, l’intégration d’un post-
traitement améliorant la classification fine, et l’exploration d’architectures hybrides
combinant rapidité et précision.
Mots-clés
Vision par ordinateur, Deep learning, Détection d’objets, YOLO, Faster R-CNN,
Déchets plastiques
iii
Table des matières
Introduction 1
1 Généralités 2
1.1 État des lieux des déchets plastiques à Madagascar . . . . . . . . . . . 2
1.2 Définitions et concepts clés . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Détection d’objets . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Vision par ordinateur et Deep Learning . . . . . . . . . . . . . . 3
1.2.3 YOLO : You Only Look Once . . . . . . . . . . . . . . . . . . . 3
1.2.4 Faster R-CNN (Region-Based Convolutional Neural Network) . . 3
1.3 Études bibliographiques et travaux liés à la détection des déchets . . . 4
1.3.1 Jeux de données open source . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Méthodes et architectures utilisées . . . . . . . . . . . . . . . . 4
1.4 Importance de la qualité des données . . . . . . . . . . . . . . . . . . . 5
1.5 Vers une application opérationnelle . . . . . . . . . . . . . . . . . . . . 5
2 Matériels et Méthodes 6
2.1 Outils et environnement . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Environnement Google Colab . . . . . . . . . . . . . . . . . . . 6
2.1.2 Bibliothèques Python principales . . . . . . . . . . . . . . . . . 6
2.2 Collecte et annotation des données . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Catégories d’images dans le dataset . . . . . . . . . . . . . . . . 7
2.2.2 Annotation avec Label Studio . . . . . . . . . . . . . . . . . . . 8
2.2.3 Formats d’annotation exportés . . . . . . . . . . . . . . . . . . . 9
2.2.4 Répartition des classes . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Préparation des données . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Data Augmentation et Balancing . . . . . . . . . . . . . . . . . 10
2.3.2 Repartition du dataset . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Modèle Faster R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 Architecture et Processus de Détection d’Objets avec Faster R-
CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2 Fonction de Loss . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.3 Avantages de Faster R-CNN . . . . . . . . . . . . . . . . . . . . 14
2.5 Code d’entraînement de Faster R-CNN . . . . . . . . . . . . . . . . . . 14
2.5.1 Chargement du modèle pré-entraîné . . . . . . . . . . . . . . . . 15
2.5.2 Configuration de l’optimiseur et du dispositif matériel . . . . . . 15
2.5.3 Boucle d’entraînement . . . . . . . . . . . . . . . . . . . . . . . 16
2.6 Modèle YOLO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6.1 Architecture du modèle YOLO . . . . . . . . . . . . . . . . . . 16
2.6.2 Fonction de prédiction et d’ancrage . . . . . . . . . . . . . . . . 17
2.6.3 Fonction de perte (loss) . . . . . . . . . . . . . . . . . . . . . . 17
2.6.4 Avantages de YOLO11 . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 Code d’entraînement YOLOv11m . . . . . . . . . . . . . . . . . . . . . 17
2.8 Interface logicielle pour la prédiction et la visualisation des résultats . . 18
iv
2.8.1 Architecture de la Plateforme . . . . . . . . . . . . . . . . . . . 19
2.8.2 Description des Composants . . . . . . . . . . . . . . . . . . . . 19
3 Résultats 20
3.1 Analyse des résultats de l’entraînement du modèle Faster R-CNN . . . 20
3.1.1 Résumé des Performances . . . . . . . . . . . . . . . . . . . . . 20
3.1.2 Analyse par taille d’objet . . . . . . . . . . . . . . . . . . . . . . 21
3.1.3 Matrice de Confusion . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.4 Métriques de Performance . . . . . . . . . . . . . . . . . . . . . 22
3.1.5 Synthèse des résultats du modèle Faster R-CNN . . . . . . . . . 23
3.2 Analyse des résultats de l’entraînement de modele YOLO . . . . . . . . 24
3.2.1 Résumé des Performances . . . . . . . . . . . . . . . . . . . . . 24
3.2.2 Performances par Classe . . . . . . . . . . . . . . . . . . . . . . 25
3.2.3 Analyse des courbes d’apprentissage du modèle YOLO . . . . . 25
3.2.4 Analyse de la matrice de confusion . . . . . . . . . . . . . . . . 27
3.2.5 Analyse de la courbe F1-Confiance . . . . . . . . . . . . . . . . 29
3.2.6 Courbe de Rappel-Confiance . . . . . . . . . . . . . . . . . . . . 30
3.2.7 Courbe de Précision-Confiance . . . . . . . . . . . . . . . . . . . 30
3.2.8 Courbe de Précision-Rappel . . . . . . . . . . . . . . . . . . . . 31
3.2.9 Synthèse de l’Entraînement du Modèle YOLO . . . . . . . . . . 32
3.3 Synthèse Générale des Résultats des Modèles Faster R-CNN et YOLO . 33
4 Discussion 35
4.1 Comparaison des modèles YOLO11m et Faster R-CNN . . . . . . . . . 35
4.1.1 Temps d’inférence . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.2 Performance du modèle YOLO11m . . . . . . . . . . . . . . . . 36
4.1.3 Performance du modèle Faster R-CNN . . . . . . . . . . . . . . 36
4.2 Analyse des performances par classe . . . . . . . . . . . . . . . . . . . . 36
4.2.1 Classe Sachet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.2 Classe Emballage . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.3 Classes Bouteille et Pot . . . . . . . . . . . . . . . . . . . . . . 37
4.3 Validation visuelle du modèle avec YOLO11m . . . . . . . . . . . . . . 37
4.4 Limites techniques et méthodologiques . . . . . . . . . . . . . . . . . . 39
4.5 Propositions d’amélioration . . . . . . . . . . . . . . . . . . . . . . . . 39
4.6 Synthèse et perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Conclusion 41
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Sitographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
v
Table des figures
1 Exemple de bouteille annotée . . . . . . . . . . . . . . . . . . . . . . . 8
2 Exemple de pot annoté . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Exemple d’emballage annoté . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Exemple de sachet annoté . . . . . . . . . . . . . . . . . . . . . . . . . 8
5 Interface d’annotation avec Label Studio . . . . . . . . . . . . . . . . . 9
6 Répartition des objets par classe avant traitement . . . . . . . . . . . . 10
7 Répartition des objets par classe dans le dataset après l’augmentation
et l’équilibrage des données. . . . . . . . . . . . . . . . . . . . . . . . . 12
8 Processus de détection d’objets avec Faster R-CNN. . . . . . . . . . . . 14
9 Interaction entre le frontend, le backend FastAPI, et le modèle YOLO11m. 19
10 Matrice de confusion pour le modèle Faster R-CNN. . . . . . . . . . . . 22
11 Courbes d’apprentissage du modèle YOLO11m. . . . . . . . . . . . . . 26
12 Matrice de confusion sur l’ensemble de validation du modele Yolo. . . . 27
13 Courbe F1 en fonction du seuil de confiance pour chaque classe. . . . . 29
14 Courbe de Rappel-Confiance pour différentes classes de déchets. . . . . 30
15 Courbe de Précision-Confiance pour différentes classes de déchets. . . . 31
16 Courbe de Précision-Rappel pour différentes classes de déchets. . . . . . 32
17 Comparaison des prédictions entre YOLO11m (à gauche) et Faster R-
CNN (à droite). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
18 Image de validation 1 avec annotations réelles. . . . . . . . . . . . . . . 38
19 Image de validation 1 avec prédictions du modèle. . . . . . . . . . . . . 39
20 Détection d’objet dans une image avec modèle entrainé . . . . . . . . . i
21 Détection d’objet avec modèle entrainé en temps réel . . . . . . . . . . i
22 Comparaison des performances des modèles YOLO sur la base COCO :
Précision (mAP) vs. Latence . . . . . . . . . . . . . . . . . . . . . . . . ii
23 Architecture de YOLOv11. . . . . . . . . . . . . . . . . . . . . . . . . . iii
24 Processus de fine-tuning de ce travail de recherche . . . . . . . . . . . . iv
vi
Liste des tableaux
1 Outils et environnement utilisés . . . . . . . . . . . . . . . . . . . . . . 6
2 Caractéristiques de l’environnement Colab . . . . . . . . . . . . . . . . 6
3 Bibliothèques Python utilisées . . . . . . . . . . . . . . . . . . . . . . . 7
4 Catégories d’images dans le dataset . . . . . . . . . . . . . . . . . . . . 7
5 Indicateurs de performance pour Faster R-CNN. . . . . . . . . . . . . . 20
6 Performances par taille d’objet (mAP). . . . . . . . . . . . . . . . . . . 21
7 Métriques de performance par classe (Précision, Rappel, F1-score) . . . 23
8 Indicateurs de performance pour l’entraînement. . . . . . . . . . . . . . 24
9 Performances par classe pour le modèle entraîné. . . . . . . . . . . . . . 25
10 Comparaison des modèles de détection d’objets (valeurs approximatives) ii
vii
Liste des codes
2.1 Extrait de code sur l’augmentation de données . . . . . . . . . . . . . . 10
2.2 Code de data augmentation avec équilibrage . . . . . . . . . . . . . . . 11
2.3 Code de séparation des données . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Chargement du modèle Faster R-CNN et adaptation à notre jeu de données 15
2.5 Définition de l’optimiseur et préparation du dispositif . . . . . . . . . . 15
2.6 Boucle d’entraînement du modèle . . . . . . . . . . . . . . . . . . . . . 16
2.7 Code d’entrainement du modele YOLO11m . . . . . . . . . . . . . . . 17
viii
Liste des annexes
Annexe A – Interface utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Annexe B – Comparaison des performances des différents modèles YOLO . . . . ii
Annexe C – Tableau comparatif des modèles de détection d’objets . . . . . . . . . . . .ii
Annexe D – Architecture de YOLO11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Annexe E – Intersection over Union (IoU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Annexe F - Processus de fine-tuning de ce travail de recherche . . . . . . . . . . . . . . . . iv
ix
Glossaire
bi-pyramide Structure pyramidale bidirectionnelle utilisée pour améliorer la fu-
sion multi-échelle dans les réseaux de détection d’objets.
Bounding Box (bbox) Rectangle utilisé pour localiser un objet dans une image,
défini par ses coordonnées (x, y) et ses dimensions (largeur, hauteur).
compound scaling Méthode d’augmentation conjointe et équilibrée de la profon-
deur, largeur et résolution d’un réseau neuronal pour améliorer ses performances
tout en gardant une efficacité optimale.
CNN Convolutional Neural Network — Réseau de neurones convolutif utilisé pour
l’extraction de caractéristiques dans les images.
CSPDarknet Cross Stage Partial Darknet — Architecture de réseau neuronal
convolutif optimisée pour l’efficacité et la précision dans la détection d’objets.
Data augmentation Technique visant à générer de nouvelles données par trans-
formation d’échantillons existants (rotation, recadrage, etc.) pour enrichir le jeu
d’entraînement.
DFL Distribution Focal Loss — Fonction de perte améliorant la précision des mo-
dèles en se concentrant sur les exemples difficiles.
Epoch Itération complète sur l’ensemble du jeu de données d’entraînement pour
ajuster les poids du modèle.
FastAPI Framework web moderne pour construire des API avec Python, basé sur
les annotations de type standard.
Faster R-CNN Faster Region-based Convolutional Neural Network — Modèle de
détection d’objets utilisant un réseau de proposition de régions pour une détec-
tion plus rapide et précise.
Fine-tuning Technique d’ajustement d’un modèle pré-entraîné sur un nouveau jeu
de données pour l’adapter à une tâche spécifique.
GPU Graphics Processing Unit — Matériel conçu pour accélérer les calculs néces-
saires à l’entraînement des modèles d’apprentissage profond.
IoU Intersection over Union — Métrique évaluant la précision de la localisation
d’un objet détecté par rapport à la vérité terrain.
Loss Fonction mesurant l’erreur du modèle pendant l’entraînement, où une valeur
faible indique une meilleure performance.
mAP Mean Average Precision — Métrique d’évaluation en détection d’objets, me-
surant la précision moyenne sur différentes valeurs de seuil.
mAP@[50 ] Mean Average Precision à un seuil d’IoU de 50%, indiquant la préci-
sion moyenne pour des détections avec un chevauchement d’au moins 50% avec
les vérités terrain.
mAP@[50 :95 ] Mean Average Precision calculée sur une gamme de seuils d’IoU
de 50% à 95%, fournissant une évaluation stricte des performances du modèle.
Matrice de confusion Tableau visualisant les performances de classification d’un
modèle en comparant les classes prédites et réelles.
x
Overfitting Phénomène où un modèle s’adapte trop aux données d’entraînement,
perdant sa capacité à généraliser sur des données inédites.
Oversampling Technique visant à augmenter artificiellement la fréquence des
classes minoritaires dans un jeu de données.
Précision Proportion de prédictions positives correctes parmi toutes les prédic-
tions positives effectuées par le modèle.
R-CNN Region-based Convolutional Neural Network — Famille de modèles de
détection d’objets utilisant des régions d’intérêt.
React Bibliothèque JavaScript pour construire des interfaces utilisateur, adaptée
aux applications single-page.
Recall Proportion d’objets réellement positifs correctement détectés par le modèle.
RoI Region of Interest — Partie spécifique d’une image sélectionnée pour une
analyse ou un traitement supplémentaire.
ROI Pooling Technique pour extraire des régions d’intérêt de taille fixe à partir
de régions de tailles variables dans une image.
RPN Region Proposal Network — Réseau convolutif prédisant les limites des objets
et les scores d’objet à chaque position.
Score F1 Moyenne harmonique entre la précision et le rappel, fournissant une
mesure globale de la performance d’un modèle de classification.
SGD Stochastic Gradient Descent — Optimiseur utilisé pour minimiser la fonction
de perte en ajustant les poids du modèle.
YOLO You Only Look Once — Algorithme de détection d’objets en temps réel
basé sur une architecture de réseau neuronal rapide et efficace.
xi
Liste des acronymes
AI Artificial Intelligence
AP Average Precision
AR Average Recall
CNN Convolutional Neural Network
COCO Common Objects in Context
CPU Central Processing Unit
Faster R-CNN Faster Region-based Convolutional Neural Network
FPN Feature Pyramid Network
GPU Graphical Processing Unit
IoU Intersection over Union
mAP Mean Average Precision
ReLU Rectified Linear Unit
R-CNN Region-based Convolutional Neural Network
RPN Region Proposal Network
RoI Region of Interest
SGD Stochastic Gradient Descent
YOLO You Only Look Once
xii
Introduction
L’accumulation des déchets, en particulier des plastiques, constitue un problème
environnemental majeur dans les zones urbaines, affectant l’esthétique de l’environne-
ment, la santé publique, la biodiversité et le bon fonctionnement des infrastructures
urbaines. À Madagascar, la situation est particulièrement préoccupante, notamment à
Antananarivo, où la Commune Urbaine produit entre 800 et 1500 tonnes de déchets par
jour, dont une grande partie n’est pas collectée à temps, en particulier dans les quartiers
populaires. Les déchets plastiques, représentant près de 10 % des déchets solides du
pays, posent un grave problème environnemental, contribuant à la pollution des rues
et des cours d’eau (Mongabay 2025). Le recyclage des plastiques usagés, comme le
souligne le ministère de l’Environnement, offre une solution prometteuse pour réduire
cette pollution et valoriser ces déchets en nouvelles ressources (Moov 2025).
Dans ce contexte, ce mémoire propose un projet visant à développer un système
automatisé de détection des déchets plastiques en milieu urbain à l’aide de modèles
d’intelligence artificielle. Des images ont été collectées dans différents quartiers d’An-
tananarivo afin d’entraîner et d’évaluer ces modèles, avec pour objectif de faciliter la
localisation des déchets plastiques jetés dans la rue afin de soutenir les initiatives de
tri, de collecte et de recyclage.
À l’échelle africaine, la problématique est similaire : en 2015, l’Afrique a généré 19
millions de tonnes de déchets plastiques, dont près de 90 % ont été mal gérés (Centre
for Science and Environment 2025). Selon les projections, cette production pour-
rait atteindre 116 millions de tonnes par an d’ici 2060 si aucune mesure efficace n’est
prise (Africa24 TV 2025). Face à ces enjeux, des initiatives locales émergent pour va-
loriser ces déchets. Le projet présenté dans ce mémoire s’inscrit dans cette dynamique,
en proposant une approche technologique complémentaire à ces efforts manuels, avec
l’ambition d’améliorer l’efficacité de la gestion des déchets plastiques dans les zones
urbaines.
Ce travail explore les méthodes d’apprentissage profond pour la détection d’objets,
en se concentrant sur l’algorithme YOLO (You Only Look Once), reconnu pour sa
rapidité et son efficacité dans les tâches de détection en temps réel. Nous avons égale-
ment expérimenté avec Faster R-CNN pour évaluer ses performances sur notre jeu de
données. L’entraînement et la comparaison de ces modèles ont été réalisés à l’aide d’un
jeu d’images collectées localement, soigneusement annotées pour identifier les déchets
visibles dans l’espace public
Une interface logicielle a été développée pour illustrer l’utilisation pratique du mo-
dèle entraîné. Elle permet de charger des images ou d’utiliser un flux webcam en temps
réel pour visualiser les détections du modèle.
L’étude débute par une revue des notions générales liées à la problématique envi-
ronnementale, à la vision par ordinateur et aux méthodes actuelles de détection auto-
matique. Elle se poursuit par la présentation des étapes de préparation des données,
du choix de l’architecture algorithmique, des méthodes d’entraînement et d’évaluation
mises en œuvre. Les résultats obtenus sont ensuite analysés, puis discutés afin d’identi-
fier les limites de la méthode et d’explorer les pistes d’amélioration envisageables pour
une application concrète sur le terrain.
1
Chapitre 1
Généralités
1.1 État des lieux des déchets plastiques à Mada-
gascar
La ville d’Antananarivo génère annuellement environ 250000 tonnes de déchets, dont
une grande partie n’est ni collectée ni traitée de manière adéquate (ONG Madagascar
2025). Cette situation entraîne une prolifération de déchets dans les rues, les rivières
et sur les plages, faisant du plastique l’une des principales sources de pollution à Ma-
dagascar (Moov 2025).
Selon les constats de la Société Municipale d’Assainissement (SMA), publiés au
début de l’année 2024, environ 10 % des bacs à ordures étaient en situation de débor-
dement dans les quartiers populaires d’Antananarivo (R. 2024). Ce problème révèle une
gestion inadaptée des déchets solides, accentuée par une croissance urbaine rapide, un
manque d’infrastructures modernes et une sensibilisation insuffisante de la population.
À l’échelle nationale, les plastiques représentent environ 10 % des déchets solides
(Mongabay 2025), avec des conséquences écologiques importantes : pollution marine,
blocage des canalisations, risques sanitaires, etc. Comme le souligne Africa24 TV
2025, si aucune mesure forte n’est prise, la production africaine de plastiques pourrait
atteindre 116 millions de tonnes par an d’ici 2060, ce qui accentuerait davantage la
pression sur les systèmes de gestion des déchets.
Face à cette problématique environnementale croissante, il devient essentiel de se
tourner vers des solutions technologiques innovantes. La détection d’objets par la vision
par ordinateur, un domaine du deep learning en plein essor, offre des possibilités pro-
metteuses pour identifier et segmenter les objets dans les images, ce qui est crucial pour
de nombreuses applications, notamment dans le domaine de la gestion des déchets.
1.2 Définitions et concepts clés
1.2.1 Détection d’objets
La détection d’objets consiste à localiser et classer des instances d’objets apparte-
nant à des catégories prédéfinies dans une image donnée. Contrairement à la classifi-
cation d’image, qui attribue une étiquette à l’image entière, ou à la segmentation, qui
identifie chaque pixel appartenant à un objet, la détection se concentre sur la locali-
sation précise via des boîtes englobantes (bounding boxes) et l’identification des objets
visibles.
Cette tâche repose généralement sur deux métriques fondamentales :
- Précision : proportion des objets détectés correctement parmi toutes les prédic-
tions positives.
- Recall : proportion des objets réels qui ont été correctement détectés.
2
Ces indicateurs permettent d’évaluer la performance globale d’un modèle de détec-
tion.
1.2.2 Vision par ordinateur et Deep Learning
La vision par ordinateur est une branche de l’intelligence artificielle qui vise à doter
les machines de la capacité d’interpréter et de comprendre les scènes visuelles, souvent
à partir d’images ou de vidéos. Elle s’appuie sur des techniques avancées telles que
le traitement d’image, la reconnaissance de formes et les réseaux neuronaux profonds
(Szeliski 2010).
Deep learning a révolutionné la vision par ordinateur ces dernières années, grâce
à sa capacité à extraire automatiquement des caractéristiques complexes à partir de
données brutes. Les réseaux de neurones convolutifs (Convolutional Neural Networks
— CNN) sont particulièrement efficaces pour traiter des données visuelles, grâce à leurs
couches capables de capturer des motifs spatiaux (LeCun et al. 1998).
Des modèles comme AlexNet (Krizhevsky, Sutskever et Hinton 2012), VG-
GNet (Simonyan et Zisserman 2014) ou ResNet (He et al. 2016) ont permis des
avancées majeures dans la classification et la détection d’objets, en particulier dans des
domaines aussi variés que la robotique, la santé ou l’environnement.
1.2.3 YOLO : You Only Look Once
YOLO est un algorithme de détection d’objets basé sur un réseau neuronal convo-
lutif unique qui effectue la détection en une seule passe, d’où son nom. Il est largement
utilisé pour sa rapidité et sa précision, en particulier dans les applications en temps
réel (Redmon et al. 2016).
Les versions successives de YOLO (YOLOv3 à YOLO11) ont introduit des amélio-
rations notables, notamment :
- Une meilleure gestion des petits objets,
- Une architecture optimisée pour les performances en temps réel,
- Un apprentissage multi-échelle pour améliorer la robustesse aux variations de
taille.
Son utilisation dans la détection des déchets urbains montre tout son potentiel,
notamment dans des environnements complexes où la vitesse et la précision sont cru-
ciales.
1.2.4 Faster R-CNN (Region-Based Convolutional Neural Net-
work)
Faster R-CNN est un autre algorithme influent dans le domaine de la détection
d’objets. Contrairement à YOLO, qui effectue la détection en une seule passe, Faster
R-CNN utilise une approche en deux étapes : il propose d’abord des régions d’intérêt
(RoI) à l’aide d’un réseau de proposition de régions (RPN), puis classe et affine ces
propositions à l’aide d’un réseau convolutif (Ren et al. 2015).
Les principales caractéristiques de Faster R-CNN incluent :
— Précision élevée : Grâce à son processus en deux étapes, Faster R-CNN atteint
souvent une grande précision dans la détection d’objets.
3
— Utilisation de RoI Pooling : Cette technique permet de gérer efficacement les
régions d’intérêt de différentes tailles, améliorant ainsi la robustesse du modèle.
— Adaptabilité : Faster R-CNN peut être adapté à diverses tâches de détection
en ajustant le réseau de base et les couches entièrement connectées.
Bien que Faster R-CNN soit généralement plus lent que YOLO en raison de son
approche en deux étapes, il est souvent privilégié dans les applications où la précision
est plus critique que la vitesse. Dans le contexte de la détection de déchets, Faster R-
CNN peut offrir des avantages significatifs pour identifier et classer précisément divers
types de déchets dans des environnements complexes.
1.3 Études bibliographiques et travaux liés à la dé-
tection des déchets
Le problème de la pollution urbaine due aux déchets plastiques a suscité un intérêt
croissant dans le domaine de la recherche appliquée. Plusieurs études ont exploré l’uti-
lisation de la vision par ordinateur pour automatiser la détection et la classification
des déchets.
1.3.1 Jeux de données open source
Plusieurs jeux de données annotés ont été développés pour répondre à ce besoin,
dont :
- TACO (Trash Annotations in Context) : jeu de données comprenant plus de 1500
images annotées avec des masques au format COCO, couvrant une grande diversité de
types de déchets (P. Proença et N. Simões 2020).
- TrashCan : conçu pour la détection de débris marins, ce jeu de données contient
7668 images annotées avec sept classes (J. Fulton, Smith et al. 2019).
- UAV-Vaste : collection d’images aériennes prises par drone, avec plus de 3700
annotations d’objets uniques (Kraft, Weber, Schauerte et al. 2021).
Ces bases de données constituent des références importantes pour l’entraînement et
l’évaluation de modèles de détection.
1.3.2 Méthodes et architectures utilisées
Plusieurs travaux ont testé différentes approches pour la détection des déchets. A.
Majchrowska et al. 2022 ont comparé EfficientDet-D2, DETR et Mask R-CNN pour
la détection des déchets dans différents environnements. Leur étude a montré que les
modèles basés sur EfficientDet offrent un bon compromis entre précision et rapidité,
avec un mAP50 pouvant atteindre 74,1 %.
Une autre approche proposée dans la même étude consiste à séparer la détection et
la classification en deux étapes distinctes, permettant une meilleure gestion des objets
partiellement visibles ou mal orientés.
Tan, Pang et Le 2020 ont introduit EfficientDet, une architecture évolutive qui
combine bi-pyramide et réseau compound scaling, permettant une adaptation facile à
des ressources matérielles variées. Ce modèle a fait ses preuves dans plusieurs domaines,
y compris la détection de déchets (A. Majchrowska et al. 2022).
4
1.4 Importance de la qualité des données
Comme le soulignent A. Majchrowska et al. 2022, la qualité des données joue un
rôle décisif dans les performances des modèles Deep Learning. En effet, des images mal
annotées, des classes déséquilibrées ou des conditions météorologiques variées peuvent
nuire à la généralisation du modèle final.
Des méthodes comme la data augmentation (via Albumentations), oversampling ou
encore l’équilibrage des classes sont couramment employées pour pallier ces limitations
(Zhang et al. 2017).
De plus, la diversité des environnements (intérieur/extérieur, jour/nuit, urbani-
sation variable) influence directement la robustesse finale du système. Cela implique
qu’une extension du jeu de données à des conditions locales spécifiques, comme celles
rencontrées à Antananarivo, serait bénéfique pour améliorer les performances du mo-
dèle.
1.5 Vers une application opérationnelle
Au-delà de la simple détection, plusieurs auteurs (Glouche, Gruyer et Nashashibi
2013, Liu et al. 2018, Lanorte, Alberico et Lasaponara 2017) ont exploré des
applications concrètes de ces technologies dans la gestion des déchets, notamment :
- Déploiement de drones équipés de caméras pour cartographier les zones polluées,
- Création de plateformes logicielles permettant une mobilisation citoyenne via
l’upload d’images géolocalisées,
- Intégration dans des outils de tri automatisé ou de gestion des flux de déchets.
Ces initiatives montrent que les outils de vision par ordinateur peuvent jouer un
rôle central dans la lutte contre la pollution plastique, tant au niveau technique qu’éco-
logique.
En somme, les déchets plastiques constituent un enjeu environnemental majeur à
Madagascar, renforcé par l’accroissement des flux urbains et la faiblesse des infrastruc-
tures de gestion. Les techniques de vision par ordinateur, en particulier les architectures
de détection en temps réel comme YOLO, offrent des perspectives prometteuses pour
automatiser la localisation des déchets dans les environnements urbains.
L’existence de jeux de données publics, combinée à des modèles performants, rend
possible la création d’un outil adapté au contexte local. L’approche adoptée dans ce
mémoire s’inscrit donc dans cette continuité, en cherchant à adapter un modèle pré-
entraîné à des images locales et à en évaluer la pertinence dans un cadre urbain spéci-
fique.
5
Chapitre 2
Matériels et Méthodes
2.1 Outils et environnement
Pour mener à bien ce projet de détection d’objets plastiques, plusieurs outils logi-
ciels, bibliothèques Python et environnements de développement ont été mobilisés à
différentes étapes : depuis la collecte et l’annotation des images, jusqu’à l’entraînement
et le fine-tuning des modèles. Le tableau 1 présente un récapitulatif des principaux
composants utilisés tout au long du processus.
Table 1 – Outils et environnement utilisés
Outil / Environnement Version / Description
Label Studio Annotation d’images avec export aux formats YOLO et COCO
Python 3.10
Environnement Google Colab avec GPU NVIDIA Tesla T4 (16 Go mémoire)
Bibliothèques Python OpenCV, PyTorch, Ultralytics, Torchvision, Matplotlib
2.1.1 Environnement Google Colab
L’entraînement du modèle YOLO11m a été réalisé dans Google Colab, qui offre
un accès gratuit à des GPU performants. Ses caractéristiques principales sont résumées
dans le tableau 2.
Table 2 – Caractéristiques de l’environnement Colab
Composant Description
GPU NVIDIA Tesla T4 avec 16 Go de mémoire
RAM Entre 12 et 50 Go, selon la session
Stockage Espace temporaire d’environ 100 Go
Compatibilité Intégration directe avec PyTorch, Ultralytics et Torch-
vision
2.1.2 Bibliothèques Python principales
Les bibliothèques utilisées dans ce projet couvrent le traitement d’image, l’entraî-
nement des modèles YOLO et Faster R-CNN, ainsi que la visualisation. Elles sont
présentées dans le tableau 3.
6
Table 3 – Bibliothèques Python utilisées
Bibliothèque Fonction principale
OpenCV Traitement d’images : lecture, redimensionnement,
filtres, transformations géométriques
PyTorch Framework principal pour l’entraînement et le fine-
tuning (YOLO et Faster R-CNN)
Ultralytics API dédiée aux modèles YOLO : entraînement, valida-
tion, inférence
Torchvision Modèles préentraînés (Faster R-CNN notamment) et ou-
tils de transformations d’images
Matplotlib Visualisation des courbes d’apprentissage et des résul-
tats
2.2 Collecte et annotation des données
Le jeu de données a été constitué à partir de 606 photos prises manuellement par
l’auteur en 2025 dans le district d’Antananarivo, à Madagascar. Ces images repré-
sentent différents types de déchets plastiques : bouteilles, pots (de yaourt ou de jus),
emballages (de bonbons ou de snacks), et sachets plastiques.
2.2.1 Catégories d’images dans le dataset
Chaque objet a été classifié dans l’une des quatre catégories listées dans le tableau
4, accompagnées d’exemples visuels.
Table 4 – Catégories d’images dans le dataset
Catégorie Description
Bouteilles Conteneurs utilisés principalement pour les boissons.
Pots Récipients pour yaourts, crèmes ou jus.
Emballages Sachets d’aliments, bonbons, snacks, etc.
Sachets Sacs en plastique utilisés au quotidien.
7
Figure 1 – Exemple de bouteille Figure 2 – Exemple de pot an-
annotée noté
Figure 3 – Exemple d’emballage Figure 4 – Exemple de sachet an-
annoté noté
2.2.2 Annotation avec Label Studio
Les images ont été annotées à l’aide de l’outil open-source Label Studio, qui per-
met de dessiner manuellement des boîtes englobantes autour des objets. Son interface
conviviale a facilité la classification des objets selon les catégories définies précédem-
ment.
— Prise en charge de plusieurs types de formats (YOLO, COCO, Pascal VOC)
— Exportation directe vers des formats compatibles entraînement
— Interface intuitive pour les tâches de vision par ordinateur
8
Figure 5 – Interface d’annotation avec Label Studio
2.2.3 Formats d’annotation exportés
Deux formats standards ont été exportés après annotation :
[Link] Format YOLO8
Format utilisé pour l’entraînement du modèle YOLO, chaque image est accompa-
gnée d’un fichier texte où chaque ligne correspond à un objet :
<class_id> <x_center> <y_center> <width> <height>
Tous les éléments sont normalisés entre 0 et 1 selon la taille de l’image.
[Link] Format COCO
Le format COCO, plus riche, est un fichier JSON qui contient :
— les métadonnées des images
— les annotations (catégorie, coordonnées)
— la possibilité d’inclure plusieurs types d’annotations (bounding boxes, segmen-
tation, etc.)
Ce format a été utilisé pour certaines étapes de conversion et d’évaluation.
2.2.4 Répartition des classes
Avant toute opération de traitement, la répartition initiale du dataset est illustrée
dans la figure 6. On y observe une dominance des classes "Emballages" et "Sachets",
justifiant un besoin d’équilibrage ultérieur.
9
Figure 6 – Répartition des objets par classe avant traitement
2.3 Préparation des données
2.3.1 Data Augmentation et Balancing
Afin d’augmenter la diversité, la robustesse et l’équilibre de notre dataset, nous
avons combiné deux approches complémentaires : la data augmentation et le data
balancing. Ces techniques visent non seulement à enrichir la base d’apprentissage par
des transformations d’images, mais aussi à corriger les déséquilibres entre les classes.
[Link].1 Data augmentation Des transformations aléatoires ont été appliquées
aux images pour simuler des variations naturelles et améliorer la généralisation du
modèle. Ci-dessous un extrait de code illustrant les transformations utilisées :
1 import albumentations as A
2
3 transform = A . Compose ([
4 A . HorizontalFlip ( p =0.5) ,
5 A . R a n d o m B r i g h t n e s s C o n t r a s t ( p =0.2) ,
6 A . Rotate ( limit =30 , p =0.5) ,
7 ] , bbox_params = A . BboxParams ( format = ’ yolo ’ , label_fields =[ ’ class_labels
’ ]) )
8
9 augmented = transform ( image = image , bboxes = bboxes , class_labels =
class_labels )
Listing 2.1 – Extrait de code sur l’augmentation de données
L’extrait de code présenté à la figure 2.1 montre la définition et l’application d’une
séquence de transformations pour augmenter les données d’entraînement. Cette pro-
cédure est effectuée à l’aide de la bibliothèque Albumentations, reconnue pour son
efficacité en traitement d’images et sa compatibilité avec les formats de détection d’ob-
jets.
- [Link](p=0.5) : applique un retournement horizontal de l’image avec
une probabilité de 50%. Cela permet au modèle d’apprendre à reconnaître les objets
10
indépendamment de leur orientation horizontale.
- [Link](p=0.2) : modifie aléatoirement la luminosité et
le contraste de l’image avec une probabilité de 20%, ce qui simule des variations de
conditions d’éclairage.
- [Link](limit=30, p=0.5) : effectue une rotation aléatoire de l’image dans
une plage de -30 à +30, avec une probabilité de 50%. Cette transformation permet
d’améliorer l’invariance du modèle aux rotations modérées.
- bbox_params=[Link](...) : précise que les transformations doivent éga-
lement être appliquées aux boîtes englobantes (bounding boxes) des objets annotés.
Le format utilisé ici est yolo, adapté aux annotations au format YOLO (coordon-
nées relatives normalisées), et les étiquettes de classe sont transmises via le champ
class_labels.
Enfin, la ligne augmented = transform(...) applique effectivement les transfor-
mations à une image donnée, en mettant à jour simultanément les coordonnées des
boîtes englobantes et les étiquettes correspondantes. Cette opération est essentielle
pour garantir la cohérence entre les images transformées et leurs annotations, notam-
ment dans les tâches de détection d’objets.
[Link].2 Equilibrage de donnée par sur-échantillonnage (oversampling)
Pour corriger le déséquilibre entre les classes comme nous constatons sur la figure 6,
nous avons ajusté le nombre d’augmentations à produire en fonction de la rareté des
classes présentes dans chaque image. Le poids de chaque image dans le processus d’aug-
mentation est défini en fonction de la fréquence inverse de ses classes. Ainsi, les classes
sous-représentées sont sur-échantillonnées plus intensivement.
1
2 # Calculate inverse class weights to handle class imbalance
3 class_weights = { cls : max_count / count for cls , count in class_counts
. items () }
4
5 # Calculate the weight of each image based on the classes it contains
6 image_weights = [ sum ( class_weights . get ( cls , 1) for cls in labels ) /
len ( labels ) for labels in im ag e_ cl as s_ la be ls ]
7
8 # Determine the number of augmentations to apply to each image
9 tot al_to_ genera te
10 a u g m e n t a t i o n s _ p e r _ i m a g e = [ round ( w * tota l_to_g enerat e / sum (
image_weights ) ) for w in image_weights ]
Listing 2.2 – Code de data augmentation avec équilibrage
Cette méthode permet de générer un nombre ajusté d’images augmentées pour chaque
classe, ce qui contribue à équilibrer leur représentation dans l’ensemble final d’entraîne-
ment. Le code de la figure 2.2 illustre une stratégie de sur-échantillonnage pondéré pour
remédier au déséquilibre des classes dans les données d’entraînement. Contrairement à
un sur-échantillonnage naïf, cette méthode tient compte de la distribution des classes
dans chaque image et ajuste dynamiquement le nombre d’augmentations à générer par
image.
- Calcul des poids de classes inverses :
1 class_weights = { cls : max_count / count for cls , count in class_counts
. items () }
2
11
Cette ligne attribue à chaque classe un poids inversement proportionnel à sa fréquence
dans le jeu de données. Ainsi, une classe rare aura un poids élevé, ce qui incitera le
système à générer davantage d’exemples pour elle.
- Poids des images en fonction des classes qu’elles contiennent :
1 image_weights = [ sum ( class_weights . get ( cls , 1) for cls in labels ) /
len ( labels ) for labels in im ag e_ cl as s_ la be ls ]
2
Chaque image est évaluée en fonction des classes qu’elle contient. Si une image contient
plusieurs classes, son poids est la moyenne des poids associés à ces classes. Ce méca-
nisme permet d’accorder plus d’importance aux images contenant des objets sous-
représentés.
- Détermination du nombre d’augmentations par image :
1 a u g m e n t a t i o n s _ p e r _ i m a g e = [ round ( w * tota l_to_g enerat e / sum (
image_weights ) ) for w in image_weights ]
2
À partir des poids relatifs calculés pour chaque image, le nombre total d’augmentations
à produire est réparti proportionnellement. Cette approche garantit que les images
contenant des classes rares sont sur-échantillonnées plus fréquemment, ce qui favorise
un meilleur équilibre des classes après augmentation.
Figure 7 – Répartition des objets par classe dans le dataset après l’augmentation et
l’équilibrage des données.
En somme, cette stratégie intelligente de sur-échantillonnage permet de renforcer
la représentativité des classes minoritaires sans introduire de duplications inutiles ou
de biais excessifs. Elle est particulièrement adaptée aux tâches de détection d’objets
où plusieurs classes peuvent coexister dans une même image.
2.3.2 Repartition du dataset
Le dataset final, comprenant les images originales ainsi que les images augmentées
et équilibrées, a été divisé en trois sous-ensembles : entraînement, validation et test.
12
La séparation a été réalisée de manière aléatoire tout en assurant une distribution
homogène des classes entre les ensembles :
1 from sklearn . model_selection import train_test_split
2 # splinting training and test
3 train_files , test_files , train_labels , test_labels = train_test_split (
4 image_files , label_files , test_size =0.2 , random_state =42)
5 # Spliting training and validation
6 train_files , val_files , train_labels , val_labels = train_test_split (
7 train_files , train_labels , test_size =0.25 , random_state =42)
Listing 2.3 – Code de séparation des données
Ce processus garantit une meilleure représentativité des classes et améliore la per-
formance et la robustesse du modèle entraîné sur ce dataset enrichi.
2.4 Modèle Faster R-CNN
2.4.1 Architecture et Processus de Détection d’Objets avec
Faster R-CNN
Le modèle Faster R-CNN est une architecture avancée pour la détection d’objets, ba-
sée sur un processus en deux étapes. Contrairement à d’autres modèles comme YOLO,
Faster R-CNN utilise un réseau de proposition de régions (RPN) pour une détection
plus efficace.
[Link] Composants Clés de l’Architecture
— Backbone : Utilise une architecture de type ResNet-50 avec un Feature Pyra-
mid Network (FPN) comme extracteur de caractéristiques. Cela permet d’obte-
nir des représentations multi-échelles des objets dans l’image.
— RPN (Region Proposal Network) : Génère des propositions de régions
susceptibles de contenir des objets. Le RPN évalue la probabilité qu’une région
contienne un objet et ajuste sa forme en conséquence. Contrairement à YOLO,
Faster R-CNN ne repose pas sur une grille fixe ni sur des boîtes d’ancrage
prédéfinies pour chaque cellule. Le RPN génère dynamiquement un ensemble de
régions d’intérêt (RoI) à partir des cartes de caractéristiques extraites.
— ROI Head : Après la génération des propositions par le RPN, chaque région
est affinée pour prédire la classe de l’objet et affiner la boîte englobante. C’est
ici qu’intervient le prédicteur FastRCNNPredictor.
[Link] Étapes du Processus de Détection
Le processus de détection d’objets avec Faster R-CNN suit une série d’étapes bien
définies, illustrées dans la Figure 8. Voici une description détaillée de chaque étape :
1. Image : L’image d’entrée est capturée et préparée pour le traitement.
2. Extraction de Caractéristiques : Un réseau de neurones convolutifs (CNN)
est utilisé pour extraire les caractéristiques de l’image.
3. Proposition de Régions : Le RPN génère des propositions de régions d’intérêt
(RoI) à partir des caractéristiques extraites.
13
4. ROI Pooling : Les régions d’intérêt proposées sont redimensionnées et préparées
pour la classification.
5. Classification : Un classifieur, souvent un réseau de neurones entièrement
connecté suivi d’une couche Softmax, est utilisé pour classer les objets dans
les régions proposées.
Figure 8 – Processus de détection d’objets avec Faster R-CNN.
2.4.2 Fonction de Loss
La fonction de perte de Faster R-CNN est une combinaison de deux termes princi-
paux :
— Classification Loss : Cette composante utilise la Cross-Entropy pour évaluer
la différence entre les classes prédites par le modèle et les classes réelles. La
Cross-Entropy est particulièrement adaptée pour les problèmes de classification
multi-classe, car elle pénalise fortement les prédictions incorrectes.
— Regression Loss : Cette composante utilise le Smooth L1 Loss pour ajuster les
boîtes englobantes proposées par le modèle. Le Smooth L1 Loss est moins sen-
sible aux outliers que le MSE (Mean Squared Error) et permet une convergence
plus stable pendant l’entraînement.
La fonction de perte totale est une somme pondérée de ces deux composantes, ce
qui permet au modèle d’optimiser à la fois la classification des objets et la précision
des boîtes englobantes.
2.4.3 Avantages de Faster R-CNN
Faster R-CNN présente plusieurs avantages qui en font un choix populaire pour la
détection d’objets :
— Haute Précision : Le modèle offre une haute précision pour la localisation
d’objets, grâce à son architecture en deux étapes et à l’utilisation d’un RPN.
— Performance : Il performe particulièrement bien pour les objets de taille moyenne
à grande.
— Modularité : Son approche modulaire permet une adaptation facile à différents
jeux de données et tâches de détection d’objets.
2.5 Code d’entraînement de Faster R-CNN
L’entraînement du modèle Faster R-CNN a été effectué en utilisant PyTorch et
Torchvision. Ce modèle repose sur un backbone ResNet50 avec un Feature Pyramid
14
Network (FPN), pré-entraîné sur le dataset COCO. Le code a été structuré en plusieurs
étapes, détaillées ci-dessous.
2.5.1 Chargement du modèle pré-entraîné
Nous utilisons un modèle Faster R-CNN pré-entraîné sur COCO et nous remplaçons
la tête de classification pour l’adapter à notre jeu de données.
1 import torchvision
2 from torchvision . models . detection . faster_rcnn import FastRC NNPre dictor
3
4 # Charger le m o d l e p r - e n t r a n
5 model = torchvision . models . detection . f a s t e r r c n n _ r e s n e t 5 0 _ f p n (
pretrained = True )
6
7 # Adapter le nombre de classes
8 num_classes = len ( coco_data [ " categories " ]) + 1 # +1 pour le fond (
background )
9 in_features = model . roi_heads . box_predictor . cls_score . in_features
10 model . roi_heads . box_predictor = Fast RCNNP redict or ( in_features ,
num_classes )
Listing 2.4 – Chargement du modèle Faster R-CNN et adaptation à notre jeu de données
Explication :
— FastRCNNPredictor permet de remplacer la tête de classification par défaut du
modèle pour correspondre au nombre de classes de notre propre jeu de données.
— La classe fasterrcnn_resnet50_fpn de [Link] four-
nit un modèle pré-entraîné performant sur COCO.
— L’ajout de +1 à num_classes permet de prendre en compte la classe de fond
(background), comme requis par le modèle.
2.5.2 Configuration de l’optimiseur et du dispositif matériel
L’optimisation est effectuée avec SGD (descente de gradient stochastique avec mo-
mentum), et le modèle est déplacé vers le GPU si disponible.
1 import torch
2
3 # P a r a m t r e s optimisables
4 params = [ p for p in model . parameters () if p . requires_grad ]
5
6 # D f i n i r l ’ optimiseur
7 optimizer = torch . optim . SGD ( params , lr =0.005 , momentum =0.9 ,
weight_decay =0.0005)
8
9 # Choix du dispositif
10 device = torch . device ( ’ cuda ’) if torch . cuda . is_available () else torch .
device ( ’ cpu ’)
11 model . to ( device )
Listing 2.5 – Définition de l’optimiseur et préparation du dispositif
Explication :
— Le choix de l’optimiseur SGD avec momentum accélère la convergence et amé-
liore la stabilité de l’entraînement.
15
— Le paramètre weight_decay permet de régulariser les poids pour limiter le
surapprentissage.
— Le modèle est déplacé automatiquement sur GPU s’il est disponible, sinon sur
CPU.
— Seuls les paramètres avec requires_grad=True sont entraînés, ce qui permet
d’exclure les poids gelés si nécessaire.
2.5.3 Boucle d’entraînement
La boucle d’entraînement est lancée sur 10 époques, en calculant la perte totale à
chaque batch.
1 for epoch in range (10) :
2 print ( f " \ nEpoch { epoch +1}/10 " )
3
4 model . train ()
5 for images , targets in train_loader :
6 images = [ image . to ( device ) for image in images ]
7 targets = [{ k : v . to ( device ) for k , v in t . items () } for t in
targets ]
8
9 # Calcul des pertes
10 loss_dict = model ( images , targets )
11 losses = sum ( loss for loss in loss_dict . values () )
12
13 # R tropropagation
14 optimizer . zero_grad ()
15 losses . backward ()
16 optimizer . step ()
17
18 print ( " Loss : " , losses . item () )
Listing 2.6 – Boucle d’entraînement du modèle
Explication :
— La méthode [Link]() active le mode entraînement, notamment pour les
couches comme Dropout ou BatchNorm.
— Les images et annotations (targets) sont transférées sur le bon dispositif (device).
— Le modèle retourne un dictionnaire de pertes (loss_dict) contenant plusieurs
composantes (classification, localisation, etc.).
— On effectue la rétropropagation de la perte totale et on met à jour les poids avec
l’optimiseur.
— La variable train_loader est un DataLoader PyTorch alimenté par un dataset
personnalisé au format COCO.
2.6 Modèle YOLO
2.6.1 Architecture du modèle YOLO
Le modèle YOLOv11 suit une architecture composée principalement de trois par-
ties : le Backbone, le Neck, et le Head. Une illustration détaillée de cette architecture
est présentée en annexe (cf. Figure 23).
16
- Backbone : Cette partie utilise CSPDarknet comme réseau d’extraction de ca-
ractéristiques. Il permet de capturer des informations spatiales et contextuelles à partir
de l’image d’entrée.
- Neck : Utilise PANet (Path Aggregation Network) pour fusionner les caractéris-
tiques extraites à différents niveaux de profondeur. Cela permet une détection d’objets
à plusieurs échelles.
- Head : Produit les prédictions finales : boîtes englobantes, classes et scores de
confiance. La détection est effectuée à trois échelles différentes (petit, moyen, grand).
2.6.2 Fonction de prédiction et d’ancrage
YOLO utilise des anchors boxes prédéfinies pour chaque cellule de la grille.
Chaque cellule prédit :
- La probabilité qu’un objet est présent dans la cellule.
- Les coordonnées de la boîte englobante : (x, y, w, h).
- Les probabilités de classe pour chaque objet détecté.
La prédiction se fait en une seule passe, ce qui le rend extrêmement rapide, contrai-
rement à d’autres approches comme R-CNN qui utilisent plusieurs étapes.
2.6.3 Fonction de perte (loss)
La fonction de perte de YOLO combine plusieurs composantes :
- Perte de localisation (Localization Loss) : pour ajuster les coordonnées de
la boîte (x, y, w, h).
- Perte de classification (Classification Loss) : pour corriger la classe prédite.
- Perte d’objet (Objectness Loss) : pour évaluer la probabilité qu’une boîte
contienne un objet.
2.6.4 Avantages de YOLO11
- Détection en temps réel grâce à une seule passe.
- Bonne précision même pour des objets de petite taille.
- Architecture légère, adaptée à une exécution sur GPU ou TPU.
2.7 Code d’entraînement YOLOv11m
Le modèle YOLOv11m a été choisi pour son équilibre optimal entre précision et
latence, comme illustré dans la Figure ??. Ce modèle offre une amélioration notable
par rapport aux versions précédentes, ce qui le rend particulièrement adapté pour des
applications nécessitant à la fois rapidité et précision. Voici le code utilisé pour entraîner
le modèle YOLO11m :
1 # Instal Ultralytics
2 ! pip install ultralytics
3 # Model training YOLO
4 ! yolo detect train \
5 model = yolov11m . pt \
6 data =/ content / data . yaml \
7 epochs =100 \
8 batch =16 \
17
9 imgsz =640 \
10 cache = True \
11 pretrained = True \
12 patience =10 \
13 name = my_yolo_model
Listing 2.7 – Code d’entrainement du modele YOLO11m
Dans le code 2.7, plusieurs hyperparamètres sont utilisés pour configurer et optimi-
ser le processus d’entraînement du modèle YOLOv11s. Voici une explication détaillée
de chacun de ces paramètres :
- Modèle (model=[Link]) : Le modèle spécifié ici est YOLOv11m, une
version particulière du modèle YOLO. Ce modèle est choisi pour ses caractéristiques
spécifiques qui peuvent inclure la taille, la vitesse et la précision.
- Données (data=/content/[Link]) : Ce paramètre pointe vers le fichier de
configuration des données, qui contient les chemins vers les images d’entraînement et
de validation, ainsi que les annotations associées. Ce fichier est crucial car il définit les
données utilisées pour entraîner le modèle.
- Époques (epochs=100) : Le nombre d’époques est fixé à 100, ce qui signifie que
le modèle effectuera 100 passes complètes sur l’ensemble des données d’entraînement.
Chaque époque est une itération sur l’ensemble du jeu de données, permettant au
modèle d’apprendre progressivement à partir des données.
- Taille du batch (batch=16) : La taille du batch est définie à 16, ce qui signifie
que 16 images sont traitées à la fois avant que les poids du modèle ne soient mis à jour.
Cela influence la stabilité et la rapidité de la convergence du modèle.
- Taille des images (imgsz=640) : Toutes les images sont redimensionnées à une
taille de 640x640 pixels. Cela standardise la taille des entrées pour le modèle, ce qui
est important pour maintenir la cohérence dans le traitement des images.
- Cache (cache=True) : L’activation du cache permet d’accélérer le processus de
chargement des données en stockant temporairement les données fréquemment utilisées,
ce qui peut être particulièrement utile pour les grands ensembles de données.
- Modèle pré-entraîné (pretrained=True) : En utilisant un modèle pré-entraîné,
le processus d’entraînement commence avec des poids qui ont déjà été optimisés sur
un grand ensemble de données. Cela peut améliorer la performance et réduire le temps
nécessaire pour obtenir un modèle précis.
- Patience (patience=10) : La patience est définie à 10, ce qui signifie que l’en-
traînement s’arrêtera si aucune amélioration n’est observée sur la perte de validation
après 10 époques consécutives. Cela aide à éviter le sur-entraînement du modèle.
- Nom (name=my_yolo_model) : Ce paramètre attribue un nom à l’expérience d’en-
traînement, ce qui permet de sauvegarder et de suivre les résultats de cet entraînement
spécifique. Cela est utile pour comparer les résultats de différents entraînements.
2.8 Interface logicielle pour la prédiction et la vi-
sualisation des résultats
Une interface logicielle a été développée pour valider l’utilisation pratique du mo-
dèle entraîné, composée d’un backend en FastAPI et d’un frontend en React. Cette
architecture permet de charger des images ou d’utiliser un flux vidéo en temps réel
18
pour visualiser les détections du modèle YOLO11m, jouant un rôle clé dans la vali-
dation fonctionnelle du système et offrant une base pour un déploiement opérationnel
futur.
2.8.1 Architecture de la Plateforme
L’architecture de la plateforme, illustrée dans la figure 9, montre l’interaction entre
les composants pour le chargement des images, la prédiction des objets, et la visuali-
sation des résultats.
Figure 9 – Interaction entre le frontend, le backend FastAPI, et le modèle YOLO11m.
2.8.2 Description des Composants
— Frontend (React) : Permet aux utilisateurs de télécharger des images ou d’uti-
liser un flux vidéo en temps réel, et affiche les résultats des détections.
— Backend (FastAPI) : Reçoit les images ou flux vidéo du frontend, les traite, et
envoie les images au modèle YOLO11m pour prédiction. Il renvoie les résultats
au frontend pour affichage.
— Modèle YOLO11m : Effectue les prédictions sur les images reçues du backend
et renvoie les résultats annotés.
19
Chapitre 3
Résultats
3.1 Analyse des résultats de l’entraînement du mo-
dèle Faster R-CNN
3.1.1 Résumé des Performances
L’entraînement du modèle Faster R-CNN a produit des résultats significatifs, bien
que différents de ceux obtenus avec YOLO. Les indicateurs de performance sont résumés
dans le tableau 5.
Indicateur Valeur
mAP@[50 :95] 0.297
mAP@[50] 0.471
mAP@[75] 0.339
AR@[maxDets=1] 0.283
AR@[maxDets=10] 0.372
AR@[maxDets=100] 0.377
Table 5 – Indicateurs de performance pour Faster R-CNN.
Voici une interprétation des indicateurs de performance pour le modèle Faster R-
CNN :
— mAP@[50 :95]= 0.297 : Cela représente la précision moyenne du modèle sur
une gamme de seuils IoU de 0.50 à 0.95. Un mAP de 0.297 indique que le modèle
a une précision moyenne relativement faible sur cette gamme de seuils, ce qui
suggère qu’il a des difficultés à localiser précisément les objets.
— mAP@[50] = 0.471 : Cela représente la précision moyenne du modèle à un
seuil IoU spécifique de 0.50. Un mAP de 0.471 indique que le modèle a une
précision moyenne modérée à ce seuil, ce qui est généralement plus facile à
atteindre car il est moins strict.
— mAP@[75] = 0.339 : Cela représente la précision moyenne du modèle à un
seuil IoU plus strict de 0.75. Un mAP de 0.339 indique que le modèle a une
précision moyenne plus faible à ce seuil, ce qui est attendu car un seuil IoU plus
élevé est plus difficile à atteindre.
— AR@[maxDets=1] = 0.283 : Cela représente le taux de rappel moyen du
modèle lorsque seulement une détection par image est considérée. Un AR de
0.283 indique que le modèle a un rappel moyen relativement faible dans ce
scénario, ce qui suggère qu’il a des difficultés à détecter les objets.
— AR@[maxDets=10] = 0.372 : Cela représente le taux de rappel moyen du
modèle lorsque jusqu’à dix détections par image sont considérées. Un AR de
20
0.372 indique que le modèle a un rappel moyen modéré dans ce scénario, ce qui
est une amélioration par rapport à une seule détection par image.
— AR@[maxDets=100] = 0.377 : Cela représente le taux de rappel moyen du
modèle lorsque jusqu’à cent détections par image sont considérées. Un AR de
0.377 indique que le modèle a un rappel moyen modéré dans ce scénario, ce qui
est similaire au scénario avec dix détections par image.
Pour plus de détails sur l’Intersection over Union (IoU), veuillez consulter l’annexe
E.
En résumé, les résultats indiquent que le modèle Faster R-CNN a des performances
modérées en termes de précision et de rappel, avec des difficultés à localiser précisément
les objets, en particulier à des seuils IoU plus stricts. Les performances sont meilleures
lorsque plus de détections par image sont considérées, ce qui suggère que le modèle
peut détecter plus d’objets mais avec une précision de localisation variable.
3.1.2 Analyse par taille d’objet
Les résultats par tailles d’objets indiquent que le modèle a uniquement détecté
efficacement les objets de grande taille. Les objets de tailles petite et moyenne n’ont
pas été détectés, ce qui se traduit par des valeurs nulles dans ces catégories.
Taille d’objet mAP@[IoU=0.50 :0.95]
Small -
Medium -
Large 0.297
Table 6 – Performances par taille d’objet (mAP).
Le modèle Faster R-CNN présente une capacité modérée à détecter les objets, avec
une meilleure performance à un seuil d’IoU plus faible (0.5). Les performances plus
faibles à des seuils élevés indiquent une difficulté à localiser précisément les objets.
L’absence de détection pour les petites et moyennes tailles suggère un manque de
diversité ou une sous-représentation de ces tailles dans le dataset.
3.1.3 Matrice de Confusion
La matrice de confusion pour le modèle Faster R-CNN est présentée ci-dessous. Elle
montre comment les prédictions du modèle se répartissent parmi les différentes classes.
— Bouteille :
— Le modèle a prédit correctement 1 bouteille.
— Il y a une confusion notable avec la classe "Emballage", où 18 bouteilles ont
été incorrectement prédites comme "Emballage".
— 6 bouteilles ont été incorrectement prédites comme "Sachet".
— Emballage :
— Le modèle a prédit correctement 29 emballages.
— Il y a une confusion avec la classe "Bouteille", où 16 emballages ont été
incorrectement prédits comme "Bouteille".
— Pot :
— Le modèle a prédit correctement 1 pot.
21
Figure 10 – Matrice de confusion pour le modèle Faster R-CNN.
— Il y a une confusion mineure avec les classes "Bouteille" et "Sachet", où 1 pot
a été incorrectement prédit comme "Bouteille" et 1 comme "Sachet".
— Sachet :
— Le modèle a prédit correctement 17 sachets.
— Il y a une confusion avec la classe "Bouteille", où 12 sachets ont été incor-
rectement prédits comme "Bouteille" et 6 comme "Emballage".
Le modèle Faster R-CNN montre une bonne capacité à distinguer entre les diffé-
rentes classes, mais il y a une certaine confusion entre les classes "Bouteille" et "Em-
ballage". Cela peut indiquer une similarité visuelle ou une complexité accrue dans la
détection précise de ces objets. Les performances globales montrent que Faster R-CNN
a une précision et un rappel modérés, avec une meilleure performance à des seuils
d’IoU plus bas, ce qui est typique pour des modèles qui privilégient la précision de
localisation.
3.1.4 Métriques de Performance
A partir de la matrice de confusion, nous avons pu obtenir la precision, le recall
ainsi que le score F1. Les métriques de performance calculées pour chaque classe sont
présentées dans le tableau suivant :
22
Table 7 – Métriques de performance par classe (Précision, Rappel, F1-score)
Classe TP FP FN Précision Rappel F1-score
Bouteille 1 29 24 0.033 0.040 0.036
Emballage 29 24 16 0.547 0.644 0.592
Pot 1 0 2 1.000 0.333 0.500
Sachet 17 7 18 0.708 0.486 0.576
— Bouteille : La précision est très faible (0.033) ainsi que le rappel (0.040), ce
qui indique que le modèle a de grandes difficultés à identifier correctement cette
classe. Il génère un grand nombre de faux positifs (29) et rate presque toutes les
vraies bouteilles (24 faux négatifs contre seulement 1 vrai positif). Cela suggère
une forte confusion notamment avec les classes Emballage et Sachet.
— Emballage : Avec une précision de 0.547 et un rappel de 0.644, cette classe pré-
sente des performances modérées. Le modèle identifie correctement un nombre
raisonnable d’emballages (29 vrais positifs), mais il en confond encore un certain
nombre avec d’autres classes (24 faux positifs et 16 faux négatifs), principale-
ment avec les bouteilles.
— Pot : La précision est parfaite à 1.000, car le modèle ne prédit un pot que
lorsqu’il est sûr. Cependant, le rappel est très bas à 0.333, ce qui signifie qu’il
détecte peu de pots réels (1 sur 3). En d’autres termes, le modèle est trop
conservateur avec cette classe et rate la majorité des pots.
— Sachet : Le modèle obtient une bonne précision de 0.708, ce qui indique qu’il
fait peu d’erreurs quand il prédit un sachet. Cependant, le rappel est moyen à
0.486, car il rate encore près de la moitié des sachets réels (18 faux négatifs).
Il y a notamment des confusions avec les bouteilles.
3.1.5 Synthèse des résultats du modèle Faster R-CNN
Le modèle démontre une capacité relativement solide à identifier les classes Embal-
lage et Sachet, avec des F1-scores respectifs de 0.592 et 0.576. Ces résultats suggèrent
que le modèle est raisonnablement bon pour reconnaître ces objets malgré une confusion
persistante avec la classe Bouteille. En revanche, la classe Bouteille est particulière-
ment mal détectée, avec un F1-score extrêmement faible de 0.036, ce qui reflète une
confusion importante avec d’autres objets visuellement similaires, en raison d’un très
faible rappel et d’une précision quasi nulle.
Concernant la classe Pot, bien que la précision soit parfaite (1.000), le faible rappel
(0.333) indique que le modèle détecte très peu de pots. Cela peut refléter une très faible
représentation de cette classe dans le jeu de données ou une complexité liée à sa forme
ou son apparence visuelle.
En termes de performance globale, la moyenne des scores F1 sur l’ensemble des
classes donne une F1-macro de :
0.036 + 0.592 + 0.500 + 0.576
F1-macro = = 0.426
4
Ce score montre que, bien que certaines classes soient correctement identifiées, les
performances restent hétérogènes selon les catégories. En ce qui concerne la localisation
des objets, les métriques mAP indiquent que le modèle atteint un mAP@[0.5] de
23
0.471, mais ce score chute à 0.297 pour le mAP moyen sur tous les seuils IoU, ce qui
traduit une précision de localisation encore perfectible.
L’analyse des performances de Faster R-CNN montre que le modèle obtient des
résultats relativement satisfaisants sur certaines classes comme Emballage et Sachet,
mais reste fortement impacté par les déséquilibres du jeu de données ainsi que par les
similitudes visuelles entre certaines catégories. La classe Bouteille, en particulier, est
très mal détectée (F1-score = 0.036), tandis que les objets comme le Pot, bien que
correctement identifiés lorsqu’ils sont prédits (précision de 1.000), sont globalement
sous-détectés en raison d’un faible rappel (0.333).
En outre, l’évaluation de la localisation révèle une précision encore perfectible, avec
un mAP@[0.5] de 0.471 qui chute à 0.297 sur les différents seuils IoU. Le modèle
peine également à généraliser sur les objets de petite ou moyenne taille, ne détectant
efficacement que ceux de grande taille, ce qui suggère une limite liée soit à son archi-
tecture, soit à la distribution des tailles dans le dataset. Avec une F1-macro globale de
0.426, Faster R-CNN offre donc des bases encourageantes, mais nécessite des ajuste-
ments ciblés pour améliorer sa robustesse, notamment via un enrichissement du jeu de
données ou une adaptation technique pour mieux traiter les cas problématiques.
3.2 Analyse des résultats de l’entraînement de mo-
dele YOLO
3.2.1 Résumé des Performances
L’entraînement a produit des résultats significatifs. Les indicateurs de performance
sont résumés dans le tableau suivant :
Indicateur Valeur
Epoch final 97 (stoppé par EarlyStopping à epoch 87)
Box(P) (précision bbox) 0.717
R (Recall) 0.734
mAP50 0.812
mAP50-95 0.731
Table 8 – Indicateurs de performance pour l’entraînement.
L’entraînement du modèle YOLO11m s’est déroulé sur un total de 97 époques, bien
que l’arrêt prématuré (EarlyStopping) ait été activé à l’époque 87 en raison de l’absence
d’amélioration significative sur la validation. Cela indique que le modèle avait atteint
une forme de convergence stable sans surapprentissage majeur.
Les indicateurs clés de performance sont récapitulés dans le tableau ci-dessus. Voici
leur interprétation :
- Box(P) (Précision des bounding boxes) = 0.717 : Cette valeur reflète la
capacité globale du modèle à produire des boîtes englobantes correctes. Une précision
supérieure à 0.7 montre une bonne stabilité dans la localisation des objets détectés.
- R (Recall) = 0.734 : Le rappel élevé montre que le modèle réussit à détecter
la majorité des objets présents dans les images, ce qui est un bon signe en termes de
couverture des instances positives.
24
- mAP50 = 0.812 : Ce score élevé indique une très bonne qualité globale de
détection à un seuil IoU relativement bas (0.5), ce qui signifie que le modèle est capable
de bien aligner les boîtes prédites avec les vérités terrain.
- mAP50-95 = 0.731 : Bien que plus faible que le mAP50 — ce qui est attendu
— cette valeur reste élevée et montre que le modèle maintient une bonne précision
même sous des seuils IoU plus stricts. Cela traduit une robustesse satisfaisante dans la
localisation fine des objets.
En somme, ces indicateurs montrent que le modèle atteint une performance glo-
balement solide, avec une bonne précision, un rappel élevé et une détection fiable à
différents niveaux de précision spatiale. Ces résultats posent les bases d’une utilisation
effective du modèle dans un contexte applicatif réel, bien que certaines classes puissent
bénéficier d’un ajustement ou d’un enrichissement des données pour une amélioration
ciblée.
3.2.2 Performances par Classe
Les performances du modèle varient selon les classes, comme illustré dans le tableau
ci-dessous :
Classe Precision Recall mAP50 mAP50-95
Bouteille 0.616 0.759 0.794 0.756
Emballage 0.781 0.606 0.772 0.651
Pot 0.633 0.787 0.788 0.711
Sachet 0.837 0.785 0.893 0.806
Table 9 – Performances par classe pour le modèle entraîné.
— La classe Sachet est la mieux détectée avec un mAP50 proche de 90%. Cela
indique que le modèle est particulièrement performant pour cette catégorie.
— La classe Emballage montre une précision élevée mais un rappel plus faible, ce
qui suggère que le modèle identifie bien cette classe mais peut manquer certains
objets.
3.2.3 Analyse des courbes d’apprentissage du modèle YOLO
Les courbes ci-dessous présentent l’évolution des pertes et des métriques d’évalua-
tion durant l’entraînement d’un modèle YOLOv11m sur 100 époques.
25
Figure 11 – Courbes d’apprentissage du modèle YOLO11m.
[Link] Perte de localisation (box_loss)
Les courbes train/box_loss et val/box_loss montrent une diminution rapide de
la perte liée à la localisation des boîtes englobantes dès les premières époques, suivie
d’une stabilisation autour de la 50e époque. Bien que le loss de validation suive globale-
ment celui de l’entraînement, une légère divergence apparaît après la 70e époque. Cela
peut indiquer une forme débutante de surapprentissage. Néanmoins, cette divergence
reste modérée, ce qui suggère que le modèle généralise raisonnablement bien la tâche
de localisation.
[Link] Perte de classification (cls_loss)
Les pertes train/cls_loss et val/cls_loss présentent une évolution similaire :
une chute rapide au début de l’entraînement puis une convergence progressive vers une
valeur stable. L’absence de divergence marquée entre entraînement et validation montre
que le modèle apprend efficacement à distinguer les quatre classes et qu’il généralise
bien sur ces dernières.
[Link] Perte DFL (dfl_loss)
La perte DFL (Distribution Focal Loss), utilisée pour affiner la précision des coor-
données des boîtes, suit également une tendance décroissante. Elle converge rapidement
sans montrer de divergence notable entre entraînement et validation. Cela indique que
le modèle améliore progressivement sa capacité à localiser avec précision les objets
détectés.
[Link] Précision et Recall
Les courbes metrics/precision(B) et metrics/recall(B) montrent une progres-
sion constante tout au long de l’entraînement. À la fin du processus (100 époques), la
précision atteint environ 0.7 tandis que le rappel approche 0.8. Ces valeurs élevées tra-
26
duisent une bonne capacité du modèle à détecter un maximum d’objets réels tout en
minimisant les fausses détections.
[Link] Performance globale : mAP
Les métriques metrics/mAP50(B) et metrics/mAP50-95(B) donnent une vue syn-
thétique de la qualité globale de la détection :
- Le mAP50(B) dépasse 0.8, ce qui montre une détection précise à un seuil IoU
relativement bas.
- Le mAP50-95(B), bien que plus bas (environ 0.6), continue de croître jusqu’à la
fin de l’entraînement, ce qui indique que le modèle progresse aussi sur des seuils IoU
plus exigeants, même si la performance reste perfectible.
Le modèle YOLOv11m montre des performances globalement solides, avec une
convergence rapide des pertes et une amélioration régulière des métriques clés (pré-
cision, recall, mAP).
3.2.4 Analyse de la matrice de confusion
La matrice de confusion, présentée dans la Figure 12, illustre les performances du
modèle en termes de classification correcte et de confusions entre classes. Chaque cellule
représente le nombre absolu d’instances prédites pour une classe donnée par rapport à
leur label réel.
Figure 12 – Matrice de confusion sur l’ensemble de validation du modele Yolo.
Classe Bouteille
Le modèle a correctement classé 158 instances sur un total de 249 de la classe
Bouteille. Cependant, il existe des erreurs notables :
- 137 instances ont été mal classées comme Emballage,
27
- 95 instances comme Pot,
- 56 instances comme Sachet,
- seulement 8 instances comme background.
Cela indique que les bouteilles sont souvent confondues avec des objets similaires
en forme ou texture, mais restent bien distinguées du fond.
Classe Emballage
Le taux de bonne classification est plus faible pour cette classe, avec 139 prédic-
tions correctes sur un total de 397 :
- 100 instances ont été mal classées comme Sachet,
- 95 instances comme Bouteille,
- 56 instances comme Pot,
- 37 instances comme background.
Les emballages semblent être la classe la plus difficile à distinguer, probablement
en raison de similitudes visuelles avec plusieurs autres classes.
Classe Pot
Pour la classe Pot, le modèle a correctement détecté 169 instances sur 431 :
- 137 instances ont été mal classées comme Bouteille,
- 74 instances comme Sachet,
- 56 instances comme Emballage,
- 25 instances comme background.
Malgré un taux correct relativement bon, les pots sont fréquemment confondus
avec des bouteilles ou des sachets, ce qui peut refléter des similarités morphologiques
ou texturales.
Classe Sachet
Le modèle a correctement identifié 169 instances sur un total de 311 :
- 100 instances ont été mal classées comme Emballage,
- 74 instances comme Pot,
- 56 instances comme Bouteille,
- 22 instances comme background.
Bien que globalement performant, le modèle peine à différencier les sachets des
emballages et des pots.
Classe Background
Enfin, on observe une tendance du modèle à mal classer certains objets comme
faisant partie du fond :
- 8 instances de Bouteille,
- 37 instances d’Emballage,
- 25 instances de Pot,
- 22 instances de Sachet.
Cela peut s’expliquer par des problèmes de segmentation, des objets partiellement
visibles ou des zones bruitées autour des objets.
28
Analyse générale
L’analyse de la matrice de confusion montre que :
- Les classes Sachet et Pot sont globalement bien prédites.
- La classe Bouteille obtient un bon taux de bonnes classifications, mais reste sujette
à des confusions avec Emballage et Pot.
- La classe Emballage est clairement la plus difficile à classifier, avec des erreurs
importantes vers plusieurs autres classes.
- Les erreurs liées au background sont présentes pour toutes les classes, mais restent
marginalement acceptables sauf pour Emballage.
3.2.5 Analyse de la courbe F1-Confiance
Figure 13 – Courbe F1 en fonction du seuil de confiance pour chaque classe.
La figure 13 illustre l’évolution du score F1 en fonction du seuil de confiance pour
chaque classe. Cette représentation permet d’évaluer comment le modèle équilibre pré-
cision et rappel selon différents seuils, ce qui est essentiel pour choisir un seuil optimal
lors de l’inférence.
Le score F1 global atteint son maximum à 0.72, pour un seuil de confiance de
0.419. Ce seuil peut donc être considéré comme un bon compromis entre précision et
rappel sur l’ensemble des classes.
La classe Sachet se distingue nettement avec des scores F1 supérieurs à 0.85 sur une
large plage de seuils, ce qui montre une détection très stable et précise. En revanche,
la classe Bouteille affiche une performance plus modeste mais régulière, avec un F1
tournant autour de 0.7, ce qui reste acceptable compte tenu de la forme globale de la
courbe. La classe Pot présente une évolution plus instable, oscillant entre 0.65 et 0.7,
ce qui traduit une certaine variabilité dans la qualité des prédictions, probablement
due à une complexité visuelle ou à une sous-représentation dans les données. Enfin,
la classe Emballage obtient les résultats les plus faibles, avec un score F1 plafonnant
29
autour de 0.65, confirmant les difficultés du modèle à bien identifier cette catégorie,
notamment à cause de confusions fréquentes avec d’autres objets similaires.
3.2.6 Courbe de Rappel-Confiance
La courbe de Rappel-Confiance (Figure 14) illustre comment le rappel évolue en
fonction du seuil de confiance pour chaque classe. Cette visualisation permet d’évaluer
la capacité du modèle à détecter les objets tout en ajustant le niveau de certitude
requis.
En particulier, la classe Sachet se distingue par un rappel relativement élevé même
à des niveaux de confiance plus bas. Par exemple, lorsque le seuil de confiance est
proche de 0.2, le rappel pour Sachet reste supérieur à 0.8, ce qui indique que le mo-
dèle est capable de détecter la majorité des sachets même avec une exigence modérée
en termes de précision. Cela reflète une bonne robustesse dans la détection de cette
classe, probablement due à des caractéristiques visuelles distinctives ou à une meilleure
représentation dans le jeu de données.
En revanche, les autres classes montrent des comportements différents : - La classe
Bouteille présente également un rappel élevé pour des seuils de confiance faibles, mais
son déclin est plus prononcé à mesure que le seuil augmente. - Les classes Emballage et
Pot affichent des courbes plus instables, avec des rappels plus faibles dès que le seuil de
confiance dépasse 0.3. Cela suggère que ces classes sont plus difficiles à détecter avec
précision, peut-être en raison de similitudes visuelles avec d’autres objets ou d’une
sous-représentation dans les données d’entraînement.
Figure 14 – Courbe de Rappel-Confiance pour différentes classes de déchets.
3.2.7 Courbe de Précision-Confiance
La courbe Précision-Confiance (Figure 15) montre comment la précision varie selon
le seuil de confiance du modèle. Elle révèle que la précision reste élevée pour toutes
les classes lorsque le seuil de confiance augmente, ce qui indique que les prédictions du
modèle sont globalement fiables.
30
En particulier, les classes Sachet et Bouteille affichent les meilleures performances,
avec une précision proche de 0.95 pour des seuils élevés. Les classes Emballage et Pot,
bien que légèrement moins stables, maintiennent également une bonne précision dans
l’ensemble.
Cela suggère qu’un seuil de confiance relativement élevé peut être utilisé sans nuire
significativement à la qualité des détections, ce qui est utile pour limiter les faux positifs
dans des applications concrètes.
Figure 15 – Courbe de Précision-Confiance pour différentes classes de déchets.
3.2.8 Courbe de Précision-Rappel
La courbe Précision-Rappel (Figure 16) illustre la relation entre la précision et le
rappel pour chaque classe. Elle montre que le modèle maintient un bon équilibre entre
ces deux métriques pour la plupart des classes.
La classe Sachet obtient les meilleures performances, avec une précision élevée sur
l’ensemble du spectre du rappel. Les autres classes (Bouteille, Pot, Emballage) pré-
sentent également des résultats satisfaisants, bien que légèrement inférieurs.
Ces résultats confirment que le modèle est globalement efficace pour détecter les
objets tout en limitant les fausses détections, avec un potentiel d’amélioration pour
certaines classes plus difficiles à distinguer.
31
Figure 16 – Courbe de Précision-Rappel pour différentes classes de déchets.
3.2.9 Synthèse de l’Entraînement du Modèle YOLO
L’entraînement du modèle YOLO11m a été mené sur un total de 97 époques, avec
un arrêt prématuré à l’époque 87 en raison de l’absence d’amélioration significative
sur la validation. Les indicateurs clés de performance montrent une bonne précision
globale, un rappel élevé, et une détection fiable à différents niveaux de précision spatiale.
La précision des boîtes englobantes est de 0.717, indiquant une bonne stabilité dans
la localisation des objets détectés. Le rappel atteint 0.734, montrant que le modèle
réussit à détecter la majorité des objets présents dans les images. Le mAP50 est de
0.812, indiquant une très bonne qualité de détection à un seuil IoU de 0.5, tandis que le
mAP50-95 est de 0.731, montrant une bonne précision même sous des seuils IoU plus
stricts.
La classe Sachet présente la meilleure détection avec un mAP50 proche de 90%,
indiquant une performance particulièrement élevée pour cette catégorie. La classe Em-
ballage montre une précision élevée mais un rappel plus faible, suggérant que le modèle
identifie bien cette classe mais peut manquer certains objets. La classe Bouteille est
bien classée mais sujette à des confusions avec d’autres classes comme Emballage et
Pot. La classe Pot est correctement détectée mais fréquemment confondue avec des
bouteilles ou des sachets.
La perte de localisation montre une diminution rapide suivie d’une stabilisation,
indiquant une bonne convergence sans surapprentissage majeur. La perte de classifi-
cation chute rapidement et converge progressivement, montrant une bonne capacité à
distinguer les classes. La perte DFL converge rapidement, indiquant une amélioration
progressive de la précision des coordonnées des boîtes. La précision et le rappel pro-
gressent constamment tout au long de l’entraînement, atteignant des valeurs élevées à
la fin du processus. Le mAP indique une détection précise à différents niveaux de seuil
IoU, avec une amélioration régulière.
La classe Bouteille est correctement classée dans 158 instances sur 249, mais souvent
confondue avec Emballage et Pot. La classe Emballage a un taux de bonne classification
32
plus faible, avec des confusions fréquentes avec plusieurs autres classes. La classe Pot
est correctement détectée dans 169 instances sur 431, mais fréquemment confondue
avec des bouteilles ou des sachets. La classe Sachet est correctement identifiée dans
169 instances sur 311, mais souvent confondue avec Emballage et Pot.
Le score F1 global atteint son maximum à 0.72 pour un seuil de confiance de 0.419,
indiquant un bon compromis entre précision et rappel. La classe Sachet se distingue par
un rappel relativement élevé même à des niveaux de confiance plus bas. La précision
reste élevée pour toutes les classes lorsque le seuil de confiance augmente, indiquant des
prédictions globalement fiables. Le modèle maintient un bon équilibre entre précision
et rappel pour la plupart des classes, avec une performance légèrement inférieure pour
certaines classes plus difficiles à distinguer.
En somme, le modèle YOLO11m montre des performances globalement solides, avec
une bonne précision, un rappel élevé et une détection fiable à différents niveaux de
précision spatiale. Ces résultats posent les bases d’une utilisation effective du modèle
dans un contexte applicatif réel, bien que certaines classes puissent bénéficier d’un
ajustement ou d’un enrichissement des données pour une amélioration ciblée.
3.3 Synthèse Générale des Résultats des Modèles
Faster R-CNN et YOLO
Les modèles Faster R-CNN et YOLO11m ont été évalués pour leur capacité à
détecter et classer des objets dans des images, chacun présentant des forces et des
faiblesses distinctes.
Le modèle Faster R-CNN montre une capacité relativement solide à identifier cer-
taines classes, notamment Emballage et Sachet, avec des F1-scores respectifs de 0.592
et 0.576. Cependant, il rencontre des difficultés significatives avec la classe Bouteille,
affichant un F1-score extrêmement faible de 0.036, ce qui indique une confusion im-
portante avec d’autres objets. La classe Pot est détectée avec une précision parfaite
de 1.000, mais un faible rappel de 0.333 suggère une sous-détection, probablement due
à une faible représentation dans le jeu de données. La performance globale de Faster
R-CNN, mesurée par la F1-macro, est de 0.426, indiquant des résultats hétérogènes
selon les catégories. En termes de localisation, le modèle atteint un
[email protected] de 0.471,
mais ce score chute à 0.297 pour le mAP moyen sur tous les seuils IoU, indiquant une
précision de localisation perfectible.
D’autre part, le modèle YOLO11m, entraîné sur 97 époques avec un arrêt prématuré
à l’époque 87, démontre une bonne précision globale et un rappel élevé. La précision
des boîtes englobantes est de 0.717, et le rappel atteint 0.734, montrant une bonne
capacité à détecter la majorité des objets. Le mAP50 est de 0.812, indiquant une très
bonne qualité de détection à un seuil IoU de 0.5, tandis que le mAP50-95 est de 0.731,
montrant une bonne précision même sous des seuils IoU plus stricts. La classe Sachet
présente la meilleure détection avec un mAP50 proche de 90%, tandis que les classes
Emballage, Bouteille, et Pot montrent des performances variables avec des confusions
fréquentes entre elles.
Les résultats montrent que le modèle YOLO11m a une meilleure performance glo-
bale par rapport à Faster R-CNN, avec une bonne précision, un rappel élevé et une
détection fiable à différents niveaux de précision spatiale. Ces résultats posent les bases
d’une utilisation effective du modèle dans un contexte applicatif réel, bien que certaines
33
classes puissent bénéficier d’un ajustement ou d’un enrichissement des données pour
une amélioration ciblée.
Les résultats présentés ici ouvrent la voie à une discussion plus approfondie sur
les forces et les faiblesses de chaque modèle, ainsi que sur les implications de ces ré-
sultats pour des applications pratiques. Dans la section suivante, nous allons explorer
une comparaison visuelle des prédictions des deux modèles, discuter des performances
spécifiques de YOLO11m et Faster R-CNN, et analyser les limites rencontrées ainsi
que les axes d’amélioration possibles.
34
Chapitre 4
Discussion
4.1 Comparaison des modèles YOLO11m et Faster
R-CNN
Les performances des deux architectures de détection d’objets — YOLO11m et
Faster R-CNN — ont été analysées en profondeur à travers plusieurs indicateurs tels que
le mAP, le F1-score, la précision, le rappel ainsi que l’analyse visuelle des prédictions.
La figure 17 illustre une comparaison qualitative entre les deux modèles sur une même
scène, mettant en lumière leurs forces respectives.
Figure 17 – Comparaison des prédictions entre YOLO11m (à gauche) et Faster R-
CNN (à droite).
4.1.1 Temps d’inférence
Un aspect crucial dans le choix d’un modèle de détection d’objets est son temps
d’inférence, particulièrement important pour les applications en temps réel. Dans notre
analyse, le modèle YOLO11m a démontré une rapidité d’exécution remarquable avec
un temps d’inférence de 0.5298 secondes par image. En revanche, le modèle Faster
R-CNN a montré un temps d’inférence significativement plus long, atteignant 9.9133
secondes par image.
Cette différence de performance temporelle indique que YOLO11m est environ 18.71
fois plus rapide que Faster R-CNN. Cette rapidité peut être attribuée à l’architecture
35
one-shot de YOLO, qui traite la détection et la classification des objets en une seule
passe, contrairement à Faster R-CNN qui utilise une approche en deux étapes, aug-
mentant ainsi le temps de calcul.
4.1.2 Performance du modèle YOLO11m
Le modèle YOLO11m a montré une performance globalement supérieure tant en
termes de précision que de rapidité de détection. En particulier, il atteint un mAP50
= 0.812 et un mAP50-95 = 0.731, ce qui traduit une très bonne qualité de locali-
sation et de classification, même sous des seuils IoU stricts. Ces valeurs sont nettement
supérieures à celles obtenues par Faster R-CNN (mAP50 = 0.471, mAP50-95 =
0.297), confirmant l’avantage de l’architecture one-shot pour des applications temps
réel.
En outre, les courbes d’apprentissage montrent une convergence rapide et stable,
sans signe marqué de surapprentissage, grâce notamment au mécanisme d’EarlyStop-
ping. L’analyse de la matrice de confusion révèle que YOLO11m détecte correctement
la majorité des objets, avec un taux d’erreur faible, surtout pour les classes bien repré-
sentées comme Sachet (mAP50 = 0.893). Cela suggère que l’architecture convient
bien aux caractéristiques morphologiques distinctes de ces objets.
En revanche, certaines confusions persistent entre classes proches, notamment entre
Emballage et Sachet, ou encore Bouteille et Pot. Ces erreurs peuvent être attribuées à
des similitudes visuelles ou à une sous-représentation de certains angles ou tailles dans
le jeu de données.
4.1.3 Performance du modèle Faster R-CNN
Faster R-CNN, bien qu’étant une architecture classique de référence en détection
d’objets, obtient ici des résultats inférieurs à ceux de YOLO11m. Les métriques de
précision moyenne (mAP) sont significativement plus basses, indiquant une moindre
capacité à localiser précisément les objets. De plus, l’analyse par taille d’objet montre
que le modèle ne détecte efficacement que les objets de grande taille, ce qui limite son
utilisation dans des contextes où les objets sont variés en dimensions.
Cependant, Faster R-CNN présente un avantage notable : sa précision de classifica-
tion est plus élevée sur certaines classes isolées, comme Pot, où il affiche une précision
parfaite (1.000), bien que cela soit compensé par un rappel très bas (0.333), traduisant
une forte sous-détection. Ce phénomène peut s’expliquer par la nature conservatrice du
modèle, qui privilégie la sûreté des détections au détriment du nombre total d’objets
identifiés.
En somme, YOLO11m se distingue par une meilleure généralisation, une vitesse de
traitement, environs 2 images par seconde, adaptée à une utilisation opérationnelle,
et des métriques globales supérieures, tandis que Faster R-CNN reste pertinent dans
des cas spécifiques nécessitant une validation fine des détections, mais au prix d’une
complexité computationnelle accrue.
4.2 Analyse des performances par classe
L’analyse détaillée des performances par classe montre que certaines catégories sont
mieux détectées que d’autres, souvent en lien direct avec leur représentativité dans le
36
jeu de données et leurs caractéristiques visuelles.
4.2.1 Classe Sachet
La classe Sachet est clairement la mieux détectée, avec un mAP50 = 0.893 et
un score F1 élevé (0.576). Ce résultat s’explique probablement par la forme plate, le
contraste fort avec le fond et la régularité de cette catégorie dans le dataset. Ces pro-
priétés facilitent la détection par des modèles comme YOLO, optimisés pour identifier
rapidement des contours et formes distinctes.
Des travaux antérieurs (S. Majchrowska, Maciejewski et Kowalski 2022) cor-
roborent cette observation, soulignant que les objets légers et contrastants bénéficient
d’une meilleure reconnaissance par les architectures en une passe.
4.2.2 Classe Emballage
Malgré une précision relativement bonne (0.547), le rappel (0.644) reste limité,
ce qui indique que le modèle manque certains emballages. Cette tendance est observée
dans d’autres études (F. Proença et E. Simões 2020 ; M. Fulton, Hong et Sattar
2019), où il est noté que les variations de texture, de couleur et d’angle rendent ces
objets difficiles à généraliser. Une augmentation de la diversité des exemples dans le
jeu d’entraînement pourrait pallier cette limitation.
4.2.3 Classes Bouteille et Pot
Les classes Bouteille et Pot présentent les pires performances, avec des F1-scores
extrêmement faibles pour la première (0.036) et un rappel très bas pour la seconde
(0.333). Ces résultats traduisent un problème de sous-représentation ou de simila-
rité visuelle entre ces objets et d’autres classes (Emballage, Sachet), ce qui induit des
confusions fréquentes.
Comme le soulignent Zhou et al. 2019, une extension du jeu de données avec une
augmentation ciblée de ces classes rares serait cruciale pour améliorer ces résultats.
Par ailleurs, l’intégration d’un post-traitement classifiant pourrait permettre d’affiner
les détections incertaines.
4.3 Validation visuelle du modèle avec YOLO11m
La validation visuelle effectuée via les figures 18 et 19 confirme globalement la robus-
tesse du modèle YOLO11m dans la détection des objets principaux, notamment pour
les classes dominantes comme Sachet et Emballage. Toutefois, certaines incohérences
apparaissent :
- Des boîtes englobantes mal alignées avec les objets, particulièrement pour les
petites tailles.
- Des omissions de détection pour les objets partiellement visibles ou orientés diffé-
remment.
- Des confusions fréquentes entre classes similaires (Bouteille/Emballage, Pot/Sachet).
Ces écarts peuvent résulter :
- D’une qualité inégale des annotations (bruit ou imprécisions),
- D’une insuffisante diversité de poses et tailles dans le dataset,
37
- D’une surexploitation de certaines textures ou formes dominantes lors de l’entraî-
nement.
Ainsi, si le modèle est performant sur les cas standards, il reste perfectible dans
les situations complexes, notamment en environnement urbain dense ou en conditions
météorologiques variables.
Figure 18 – Image de validation 1 avec annotations réelles.
38
Figure 19 – Image de validation 1 avec prédictions du modèle.
4.4 Limites techniques et méthodologiques
Plusieurs limites ont été identifiées à travers cette étude :
- Objets partiellement visibles : Comme le souligne S. Majchrowska, Maciejewski
et Kowalski 2022, les modèles actuels restent vulnérables aux objets obstrués ou in-
complets. Cela affecte particulièrement les classes Bouteille et Pot, souvent masquées
ou mal orientées dans les scènes réelles.
- Taille limitée du jeu de données : Bien que contenant plus de 1000 objets
annotés, le dataset reste restreint en quantité et en diversité. Selon Zhou et al. 2019,
des milliers d’exemples annotés sont généralement nécessaires pour garantir une bonne
généralisation.
- Manque de diversité environnementale : Les images proviennent principa-
lement de scènes urbaines similaires, sans prise en compte des variations climatiques,
temporelles ou géographiques. Cela limite la robustesse du modèle dans des contextes
réels variés.
4.5 Propositions d’amélioration
Pour répondre aux limitations identifiées, plusieurs pistes peuvent être explorées :
- Augmentation du jeu de données : Intégrer davantage d’images locales issues
de différents environnements urbains (rues bondées, marchés, quartiers périphériques),
39
y compris des variations météo et lumineuses. Des jeux de données publics tels que
Trash-ICRA M. Fulton, Hong et Sattar 2019 ou UAV-Vaste S. Majchrowska,
Maciejewski et Kowalski 2022 pourraient servir de base à cette extension.
- Amélioration de la couverture des classes sous-représentées : Ajouter plus
d’exemples annotés pour les classes Bouteille et Pot, afin de réduire les biais liés à leur
rareté.
- Intégration de nouvelles classes : Étendre le système de classification à des
objets plastiques locaux spécifiques (gobelets, pailles, etc.), en utilisant une approche
multi-étapes (détection puis classification fine), comme testée avec succès dans S.
Majchrowska, Maciejewski et Kowalski 2022.
- Optimisation de la phase de post-traitement : Mettre en place un filtre
classifiant secondaire pour affiner les détections incertaines, notamment entre classes
visuellement proches.
- Tests avec architectures hybrides : Explorer des solutions combinant les forces
de YOLO (vitesse et précision globale) et de Faster R-CNN (précision fine des détec-
tions), notamment dans des applications critiques où chaque objet doit être identifié
avec certitude.
4.6 Synthèse et perspectives
Cette analyse comparative entre YOLO11m et Faster R-CNN met en évidence
des différences marquées en termes de performance, de robustesse et d’adaptabilité.
YOLO11m se révèle être le meilleur choix pour une application opérationnelle en raison
de ses performances élevées, de sa rapidité et de sa stabilité. Néanmoins, certaines
classes restent problématiques, ce qui justifie des efforts d’enrichissement du jeu de
données et d’optimisation du pipeline global.
À travers cette discussion, il devient clair que la réussite d’un modèle de détection
repose autant sur la qualité de l’architecture que sur celle du jeu de données. Les
perspectives incluent l’extension du jeu de données, l’intégration de nouvelles classes
et l’utilisation d’architectures hybrides pour améliorer la fiabilité des détections dans
des environnements complexes.
Dans le chapitre suivant, nous proposerons une conclusion générale de l’ensemble
de cette étude, en replaçant ces résultats dans un contexte plus large et en discutant
des implications pratiques et scientifiques de nos conclusions.
40
Conclusion
L’objectif de ce mémoire était d’évaluer l’efficacité des modèles deep learning dans la
détection automatisée des déchets plastiques en milieu urbain, avec un focus particulier
sur le contexte malgache. À travers l’utilisation de deux architectures emblématiques
— YOLO11m et Faster R-CNN — nous avons pu établir une comparaison fine entre
leurs performances respectives, leurs forces, leurs faiblesses ainsi que leur pertinence
opérationnelle.
Le modèle YOLO11m s’est révélé être le plus adapté à notre tâche de détection,
tant par sa rapidité que par ses performances globales élevées. Avec un mAP@[50] de
81,2 % et un rappel moyen de 73,4 %, il a montré une capacité solide à localiser et
classer correctement les objets plastiques présents dans des scènes urbaines variées. En
particulier, la classe Sachet se distingue par une excellente précision, confirmant son
bon ancrage dans le jeu de données et sa morphologie distinctive qui facilite la recon-
naissance visuelle. En revanche, certaines classes restent plus difficiles à généraliser,
notamment Bouteille et Pot, souvent confondues avec d’autres ou sous-détectées en
raison de leur rareté relative ou de leur similitude visuelle.
Faster R-CNN, bien qu’étant une architecture reconnue pour sa précision de locali-
sation, a montré ses limites dans ce contexte spécifique. Il peine à détecter efficacement
les objets de petite et moyenne taille, et obtient des scores globaux inférieurs à ceux de
YOLO11m. Bien qu’il affiche une précision élevée sur certaines classes isolées comme
Pot, son rappel très bas limite son utilisation dans des applications nécessitant une
couverture large des objets présents. Cela montre que, malgré sa robustesse théorique,
cette architecture n’est pas optimale lorsqu’elle est entraînée sur un jeu de données
limité ou peu diversifié.
Les méthodes employées ont permis de compenser en partie les déséquilibres initiaux
du jeu de données grâce à des techniques d’augmentation et de pondération adaptative.
Ces approches ont amélioré la stabilité du modèle face à des variations d’éclairage,
d’angle ou de contraste. Le dataset final, bien que restant modeste en taille, constitue
néanmoins une base solide pour poursuivre les recherches dans ce domaine.
Cependant, plusieurs défis persistent. La détection des objets partiellement visibles
ou très petits reste une difficulté notable, affectant la généralisation du modèle dans
des environnements urbains complexes. De plus, la taille relativement réduite du jeu de
données souligne une limite commune aux modèles d’apprentissage profond, qui exigent
souvent des milliers d’exemples annotés pour atteindre une performance maximale.
L’hétérogénéité géographique, climatique et temporelle des images collectées pourrait
également être renforcée pour garantir une meilleure adaptation à des conditions réelles
variées.
À cet égard, les perspectives futures sont nombreuses. Une extension du jeu de don-
nées avec davantage d’images locales et représentatives des différents quartiers d’An-
tananarivo serait cruciale. L’intégration progressive de nouvelles catégories de déchet
plastiques locaux, permettrait de mieux répondre aux besoins spécifiques du terrain.
Par ailleurs, une exploration de solutions hybrides combinant les forces de YOLO et de
Faster R-CNN pourrait offrir une voie prometteuse vers une détection plus complète
et fiable.
41
Enfin, l’implémentation d’un système de mise à jour continue du modèle, alimenté
par de nouvelles images capturées en temps réel, contribuerait à maintenir sa per-
formance sur le long terme et à s’adapter aux évolutions du paysage urbain. Une
intégration dans une application mobile ou web pourrait également favoriser une mo-
bilisation citoyenne accrue, en facilitant la cartographie dynamique des points chauds
de pollution plastique.
En somme, cette étude démontre comment l’intelligence artificielle peut soutenir
des initiatives locales de lutte contre la pollution plastique, tout en répondant à des
enjeux globaux liés au développement durable. Elle ouvre la voie à des projets plus
ambitieux, combinant technologie, environnement et impact social positif. Le déploie-
ment opérationnel de tels outils représente non seulement un progrès technique, mais
aussi un levier important pour sensibiliser et mobiliser les acteurs locaux autour de la
gestion des déchets en milieu urbain.
42
Bibliographie
Carion, Nicolas et al. (2020). “End-to-end object detection with transformers”. In :
European Conference on Computer Vision. Springer, p. 288-308.
Fulton, Jonathan, John Smith et al. (2019). “TrashCan : A Dataset for Detection of
Marine Debris”. In : Journal of Marine Science and Engineering 7.11, p. 396.
Fulton, Michael, Jungseok Hong et Junaed Sattar (2019). “TrashCan : A Seman-
tically Segmented Dataset for Visual Marine Debris Detection”. In : International
Conference on Robotics and Automation (ICRA).
Glouche, Yann, Patrick Gruyer et Frédéric Nashashibi (2013). “Waste detection
for cleaning path planning using visual saliency”. In : 2013 IEEE International
Conference on Robotics and Biomimetics (ROBIO). IEEE, p. 2970-2975. doi : 10.
1109/ROBIO.2013.6739937.
He, Kaiming et al. (2016). “Deep Residual Learning for Image Recognition”. In : IEEE
Conference on Computer Vision and Pattern Recognition (CVPR).
Hong, Jungseok, Michael Fulton et Junaed Sattar (2020). “TrashCan : A Semanti-
cally Segmented Dataset for Visual Marine Debris Detection”. In : 2020 IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS). IEEE, p. 1123-
1129.
Kraft, Michael, Felix Weber, Andreas Schauerte et al. (2021). “Detection and
Tracking in Aerial Images Using a UAV”. In : Remote Sensing 13.4, p. 674.
Kraft, Mikołaj et al. (2021). “UAV-Vaste : Annotated aerial dataset of litter in urban
and natural scenes”. In : Data in Brief 34, p. 106596.
Krizhevsky, Alex, Ilya Sutskever et Geoffrey E Hinton (2012). “ImageNet Clas-
sification with Deep Convolutional Neural Networks”. In : Advances in Neural In-
formation Processing Systems 25.
Lanorte, Antonio, Valerio Alberico et Rosa Lasaponara (2017). “A remote sensing-
based approach for detecting illegal waste disposal sites in Southern Italy”. In :
European Journal of Remote Sensing 50 (1), p. 383-390. doi : 10.1080/22797254.
2017.1340287.
LeCun, Yann et al. (1998). “Gradient-based learning applied to document recognition”.
In : Proceedings of the IEEE 86.11, p. 2278-2324.
Liu, Weihua et al. (2018). “Deep learning for pixel-level image fusion : Recent advances
and future prospects”. In : Information Fusion 42, p. 158-173. doi : 10.1016/j.
inffus.2017.10.007.
Lowe, David G (1999). “Object recognition from local scale-invariant features”. In :
International Conference on Computer Vision.
Lynch, Stephen (2018). “[Link]–Crowdsourced Geospatial Data on Plas-
tic Pollution with Blockchain Rewards (Littercoin)”. In : Open geospatial data, soft-
ware and standards 3.1, p. 1-10.
Majchrowska, Anna et al. (2022). “Application of EfficientDet in Waste Detection”.
In : Journal of Environmental Management 301, p. 113852.
Majchrowska, Sylwia, Mateusz Maciejewski et Zbigniew Kowalski (2022). “Waste
Detection and Classification : A Two-Stage Approach Using Deep Learning”. In :
Waste Management 138, p. 274-284.
Proença, Filipe et Eduardo Simões (2020). “TACO : Trash Annotations in Context
for Litter Detection”. In : Data in Brief 32, p. 106071.
43
Proença, Pedro et Nuno Simões (2020). “TACO : Trash Annotations in Context for
Litter Detection”. In : IEEE Access 8, p. 112892-113004.
Redmon, Joseph et al. (2016a). “You Only Look Once : Unified, Real-Time Object
Detection”. In : Proceedings of the IEEE conference on computer vision and pattern
recognition, p. 779-785.
— (2016b). “You Only Look Once : Unified, Real-Time Object Detection”. In : arXiv
preprint arXiv :1506.02640.
Ren, Shaoqing et al. (2015). “Faster R-CNN : Towards Real-Time Object Detection
with Region Proposal Networks”. In : arXiv preprint arXiv :1506.01497.
Simonyan, Karen et Andrew Zisserman (2014). “Very Deep Convolutional Networks
for Large-Scale Image Recognition”. In : International Conference on Learning Re-
presentations.
Szeliski, Richard (2010). Computer Vision : Algorithms and Applications. Springer
Science Business Media.
Tan, Mingxing, Ruoming Pang et Quoc V Le (2020a). “EfficientDet : Scalable and
Efficient Object Detection”. In : arXiv preprint arXiv :1911.09070.
— (2020b). “EfficientDet : Scalable and Efficient Object Detection”. In : IEEE Tran-
sactions on Pattern Analysis and Machine Intelligence.
Wang, T. et al. (2020). “A multi-level approach for waste segmentation using deep
convolutional neural networks”. In : Sensors 20.14, p. 3816.
Zhang, Hongyi et al. (2017). “mixup : Beyond Empirical Risk Minimization”. In :
arXiv preprint arXiv :1710.09412.
Zhou, Bolei et al. (2019). “Places : A 10 Million Image Database for Scene Recogni-
tion”. In : IEEE Transactions on Pattern Analysis and Machine Intelligence.
44
Sitographie
Africa24 TV (2025). Africa to sum 116m tonnes of plastic waste annually by 2060.
Consulté le 4 juin 2025. url : [Link]
tonnes-of-plastic-waste-annually-by-2060 (visité le 04/06/2025).
Centre for Science and Environment (2025). Plastic Waste Management in
Africa : An Overview. Consulté le 4 juin 2025. url : [Link]
org / plastic - waste - management - in - africa - an - overview - 11606 (visité le
04/06/2025).
Mongabay (2025). Croisade contre les déchets plastiques à Madagascar. Consulté le
4 juin 2025. url : [Link]
dechets-plastiques-a-madagascar/ (visité le 04/06/2025).
Moov (2025). Recyclage du plastique - Un enjeu écologique et économique pour Ma-
dagascar. Consulté le 4 juin 2025. url : [Link]
recyclage - du - plastique - un - enjeu - ecologique - et - economique - pour -
madagascar#body2 (visité le 04/06/2025).
Nikhileswara Rao, S (2024). YOLOv11 Explained : Next-Level Object Detection
with Enhanced Speed and Accuracy. Consulté le 09 juin 2025. url : https : / /
medium . com / @nikhil - rao - 20 / yolov11 - explained - next - level - object -
detection - with - enhanced - speed - and - accuracy - 2dbe2d376f71 (visité le
09/06/2025).
ONG Madagascar (2025). Gestion des déchets. Consulté le 4 juin 2025. url : https:
/ / www . ong - madagascar . org / enjeux - ecologiques / gestion - des - dechets/
(visité le 04/06/2025).
R., Nadia (2024). SMA : 503 494 m3 de déchets collectés à Tana. Consulté le 4 juin
2025. url : https : / / midi - madagasikara . mg / 503 - 494 - m3 - de - dechets -
collectes-a-tana/ (visité le 04/06/2025).
Think Autonomous (2023). Faster R-CNN : A Comprehensive Guide. Consulté le
14 juin 2025. url : https : / / www . thinkautonomous . ai / blog / faster - rcnn/
(visité le 14/06/2025).
45
ANNEXES
Annexe A : Interface utilisateur
Voici quelques captures d’écran illustrant l’interface développée pour la détection
de déchets plastiques :
Figure 20 – Détection d’objet dans une image avec modèle entrainé
Figure 21 – Détection d’objet avec modèle entrainé en temps réel
i
Annexe B : Comparaison des performances des dif-
férents modèles YOLO
Cette met en évidence le compromis entre précision (mAP) et latence (temps d’in-
férence), montrant que les modèles récents comme YOLOv11 offrent des améliorations
significatives par rapport à leurs prédécesseurs.
Figure 22 – Comparaison des performances des modèles YOLO sur la base COCO :
Précision (mAP) vs. Latence
Annexe C : Tableau comparatif des modèles de dé-
tection d’objets
Le tableau suivant présente les caractéristiques principales des architectures de
détection d’objets les plus populaires. Les valeurs sont basées sur les performances
moyennes rapportées dans la littérature scientifique et les benchmarks officiels.
Table 10 – Comparaison des modèles de détection d’objets (valeurs approximatives)
Modèle Type Couches approx. Params (M) FLOPs (B) mAP COCO (%) Vitesse CPU ONNX (ms) Vitesse T4 TRT (ms) One/Two-stage
YOLOv11n One-stage 260 2.6 6.5 39.5 56.1 ± 0.8 1.5 ± 0.0
YOLOv11s One-stage 300 9.4 21.5 47.0 90.0 ± 1.2 2.5 ± 0.0
YOLOv11m One-stage 400 20.1 68.0 51.5 183.2 ± 2.0 4.7 ± 0.1
Faster R-CNN Two-stage 100 40 150 36–42 – 7 (GPU) Two-stage
YOLOv8s One-stage 300 9 20 37–41 – 60 (GPU)
YOLOv8m One-stage 400 36 68 48–52 – 30 (GPU)
SSD300 One-stage 30 38 34 25–30 – 20 (GPU)
EfficientDet-D0 One-stage 90 4 3.9 32–36 – 25 (GPU)
ii
Annexe D : Architecture de YOLO11
La Figure 23 montre l’architecture de YOLOv11, décrite par Nikhileswara Rao
Nikhileswara Rao, S 2024.
Figure 23 – Architecture de YOLOv11.
Annexe E : Intersection over Union (IoU)
L’Intersection over Union (IoU) est une métrique utilisée pour évaluer la précision
de la détection d’objets dans les tâches de vision par ordinateur. Elle mesure le degré
de chevauchement entre une boîte englobante prédite et une boîte englobante réelle
(vérité terrain).
Qu’est-ce que l’IoU ?
L’IoU est calculé comme le rapport entre l’aire de l’intersection des deux boîtes (la
zone où les deux boîtes se chevauchent) et l’aire de l’union des deux boîtes (la zone
totale couverte par les deux boîtes). La formule pour calculer l’IoU est la suivante :
Aire de l’intersection
IoU =
Aire de l’union
Utilisation de l’IoU comme seuil
Dans le contexte de la détection d’objets, un seuil IoU est utilisé pour déterminer
si une prédiction est considérée comme correcte. Par exemple, si un seuil IoU de 0.5
est utilisé, une prédiction est considérée comme correcte si l’IoU entre la boîte prédite
et la boîte réelle est supérieur ou égal à 0.5.
iii
— Seuil IoU de 0.5 : C’est un seuil couramment utilisé. Il indique qu’une prédic-
tion est considérée comme correcte si la zone de chevauchement entre la boîte
prédite et la boîte réelle est d’au moins 50% de la zone totale couverte par les
deux
Annexe F : Processus de fine-tuning de ce travail
de recherche
Figure 24 – Processus de fine-tuning de ce travail de recherche
iv
ANDRIAMAHARO Kwon-Chui Rado Angelin
Data Scientist | Ingénieur en Hydrochimie
Master 1 - Ingénierie en Intelligence Artificielle et Data
Institut National Supérieur d’Informatique, Madagascar
Adresse : lot 238 Cité Mandroseza, Antananarivo, Madagascar
Email : radokwon@[Link]
LinkedIn : [Link]/in/angelin-andriamaharo
GitHub : [Link]/andriamaharorado